Какие есть способы оптимизации таблицы special_transactions?

Технические вопросы по UTM 5.0
petrovs
Сообщения: 286
Зарегистрирован: Вт мар 15, 2005 16:54
Контактная информация:

Какие есть способы оптимизации таблицы special_transactions?

Сообщение petrovs »

Уж очень сильно она разрослась - 15255108 записей. Наверняка, что-то можно удалить.

freebsd4.10-r
Сообщения: 99
Зарегистрирован: Чт апр 07, 2005 10:00

Сообщение freebsd4.10-r »

мне в нетупе сказали , что ее можно всю удалять
(но я не стал, обрезал ее на два последних месяца)

petrovs
Сообщения: 286
Зарегистрирован: Вт мар 15, 2005 16:54
Контактная информация:

Сообщение petrovs »

А зачем она вообще тогда нужна, если ее можно всю удалять?
Может спецы из Нетапа ответят адекватно на этот вопрос?

shoorickello
Сообщения: 134
Зарегистрирован: Ср июн 29, 2005 13:08

Сообщение shoorickello »

Это ещё что :)

discount_transactions_all 17,054,004 MyISAM 1.8 GB -
discount_transactions_iptraffic_all 17,390,304 MyISAM 2.2 GB -
special_transactions 51,972,496 MyISAM 2.8 GB -

Вот так и живём :) И имеем факт почти полной остановки сервера базы данных в случае, если пользователю вздумается в веб-интерфейсе выбрать какой-либо отчёт.

petrovs
Сообщения: 286
Зарегистрирован: Вт мар 15, 2005 16:54
Контактная информация:

Сообщение petrovs »

Ну вообщем проконсультировавшись где надо, выяснил что special_transactions это таблица с налогами и можно удалять все записи с нулевыми списаниями (я так понимаю это incoming_rest и outgoing_rest). Но можно удалить ее всю если не используется начислений налогов.

А с таблицей discount_transactions_all можно поступать также: удалять все поля, где discount=0

freebsd4.10-r
Сообщения: 99
Зарегистрирован: Чт апр 07, 2005 10:00

Сообщение freebsd4.10-r »

2 shoorickello
ты крут у тебя базы еще больше чем у меня )))

первые две нужны для отчетов(т.е. сколько тебе надо столько и оставляй)
а третья - с налогами чего то связано
Этот рост баз единственная моя головная боль, всем остальным вроде доволен. Хотя использую функционал биллинга поминимуму.

cjcrazy
Сообщения: 497
Зарегистрирован: Чт янв 20, 2005 21:54

Сообщение cjcrazy »

petrovs писал(а): special_transactions это таблица с налогами и можно удалять все записи с нулевыми списаниями (я так понимаю это incoming_rest и outgoing_rest). Но можно удалить ее всю если не используется начислений налогов.

А с таблицей discount_transactions_all можно поступать также: удалять все поля, где discount=0
то есть можно запускать чистку базы данных (скажем, раз в неделю) и всё будет прекрасно функционировать??

petrovs
Сообщения: 286
Зарегистрирован: Вт мар 15, 2005 16:54
Контактная информация:

Сообщение petrovs »

ну все будет прекрасно функционировать. в общий отчет не попадают записи с нулевыми списаниями и поэтому их можно смело удалять.

shoorickello
Сообщения: 134
Зарегистрирован: Ср июн 29, 2005 13:08

Сообщение shoorickello »

freebsd4.10-r:

Я знаю, для чего эти базы :) Я даже написал специальный агрегатор, который склеивает записи за один день в одну, уменьшая тем самым размер этой базы. Правда, последние пару месяцев не запускал его...

taf
Сообщения: 309
Зарегистрирован: Вс янв 30, 2005 11:41

Сообщение taf »

shoorickello писал(а):freebsd4.10-r:

Я знаю, для чего эти базы :) Я даже написал специальный агрегатор, который склеивает записи за один день в одну, уменьшая тем самым размер этой базы. Правда, последние пару месяцев не запускал его...
Хм... А можно этот агрегатор продемонстрировать общественности?

cjcrazy
Сообщения: 497
Зарегистрирован: Чт янв 20, 2005 21:54

Сообщение cjcrazy »

shoorickello писал(а):]Я даже написал специальный агрегатор, который склеивает записи за один день в одну, уменьшая тем самым размер этой базы.
просим, просим!

adminP
Сообщения: 109
Зарегистрирован: Сб апр 09, 2005 11:56

Сообщение adminP »

Так что, эти таблицы влияют только на отчет?
т.е. можно ставить последние два месяца, которые у будут светиться в отчетах, а сотальное сносить?

Хотелось бы чтобы кто-нибудь из нетаповцев подтвердил, что
это можно делать, и нетап после таких манипуляций не слетит :-)

freebsd4.10-r
Сообщения: 99
Зарегистрирован: Чт апр 07, 2005 10:00

Сообщение freebsd4.10-r »

Я не Нетаповец, но резал эти базы оставляя два последних месяца (примерно столько же у меня файлов с детальной статистикой на сервере)
Биллинг это событие пережил нормально.
Но проблемма в том, что по нормативам положено хранить данные за последние 3 года...

можно удалять:
discount_date < unix_timestamp('ваша_дата')

adminP
Сообщения: 109
Зарегистрирован: Сб апр 09, 2005 11:56

Сообщение adminP »

Я храню все dbs, зжимаю и скидываю на болванки. Они пусть и
храняться три года. А базы можно и почистить.

какие таблицы ты чистил? таким способом можно чистит все три
таблицы или какуй-то нельзя.

и по поводу discount=0: так можно чистить только discount_transactions_all? а что делать с discount_transactions_iptraffic_all
и special_transactions? в special_transactions поля incoming_rest и outgoing_rest у меня нулевые не бывают!

adminP
Сообщения: 109
Зарегистрирован: Сб апр 09, 2005 11:56

Сообщение adminP »

и если из discount_transactions_all я удаляю записи с определенным id
разве нельзя удалять записи из special_transactions с discount_transaction_id равным id из discount_transactions_all

Ответить