Как уменьшить размер базы данных?

Ответить
femistoklus
Сообщения: 24
Зарегистрирован: Чт фев 05, 2015 6:53 am

Как уменьшить размер базы данных?

Сообщение femistoklus » Сб дек 16, 2017 7:04 pm

Добрый день!

Подскажите, пожалуйста, каким лучше способом уменьшить размер базы данных MySQL биллинга?
Какие таблицы можно почистить, а какие вовсе удалить, если они не нужны?
Анализируя структуру БД, вижу, что статистика по правилам ротации раз в месяц складывается в отдельную таблицу с именем 's_detail_$yyyy-$mm-$lastdaymonth'. Могу ли я из БД удалить таблицы со статистикой за старые (ненужные) периоды?
Также есть таблица dv_logs, которая тоже содержит немалое количество строк и данных, можно ли каким-то образом ее ротировать и почистить?
Буду очень признателен, если вы дадите другие возможные способы по оптимизации размера БД.

Заранее спасибо!

~AsmodeuS~
Site Admin
Сообщения: 5704
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Как уменьшить размер базы данных?

Сообщение ~AsmodeuS~ » Пн дек 18, 2017 1:47 pm

посморите в SQL commander

самые большите таблицы и сообщите возможно нужно сделать ротацию этих таблиц

также можно воспользоваться misc/mysql/clear_db.pl

femistoklus
Сообщения: 24
Зарегистрирован: Чт фев 05, 2015 6:53 am

Re: Как уменьшить размер базы данных?

Сообщение femistoklus » Пт дек 22, 2017 8:14 am

Ниже привожу список таиблац, которые имеют наибольший размер и количество строк:

Код: Выделить всё

Table name					Rows			Size
dv_log						~503,742		76.1 MiB
s_detail_2015_03_31		431,680		62.1 MiB
s_detail_2016_03_31		396,489		58.1 MiB
s_detail_2015_10_31		379,817		55.1 MiB
s_detail_2016_05_31		375,718		54.1 MiB
s_detail_2016_01_31		369,296		54.1 MiB
s_detail_2015_12_31		377,513		54.1 MiB
s_detail_2015_09_30		367,796		54.1 MiB
s_detail_2016_04_30		374,420		54.1 MiB
s_detail_2016_02_29		358,462		53.1 MiB
s_detail_2015_11_30		364,367		53.1 MiB
s_detail_2017_06_30		364,433		53.1 MiB
s_detail_2017_04_30		361,774		53.1 MiB
s_detail_2015_02_28		363,515		53.1 MiB
s_detail_2017_05_31		367,648		53.1 MiB
s_detail_2017_11_30		358,944		51.1 MiB
s_detail_2017_01_31		355,551		51.1 MiB
s_detail_2017_03_31		351,937		51.1 MiB
s_detail_2017_10_31		356,046		51.1 MiB
s_detail_2015_07_31		355,553		51.1 MiB
s_detail_2016_12_31		356,587		51.1 MiB
s_detail_2015_08_31		353,206		51.1 MiB
s_detail_2016_11_30		344,644		50.1 MiB
s_detail_2017_09_30		342,179		50.1 MiB
s_detail_2016_10_31		345,192		50.1 MiB
s_detail_2016_06_30		339,862		49.1 MiB
s_detail_2016_09_30		335,540		49.1 MiB
s_detail_2015_06_30		327,579		48.1 MiB
s_detail_2016_08_31		332,702		48.1 MiB
s_detail_2015_05_31		328,286		48.1 MiB
s_detail_2017_02_28		332,597		48.1 MiB
s_detail_2016_07_31		321,644		47.1 MiB
s_detail_2017_08_31		322,395		47.1 MiB
s_detail_2017_07_31		325,596		47.1 MiB
s_detail_2015_04_30		299,456		44.1 MiB
s_detail_2015_01_31		188,702		28.1 MiB
s_detail						137,280		21 MiB
fees							36,651		7.7 MiB
Собственно остается вопрос, могу ли я удалить, к примеру, таблицы s_detail за старые периоды, которые больше не нужны. Например удалить таблицы за 2015-2016 гг?
И таблицу dv_logs наверное тоже мне не мешало бы каким-то способом почистить?))

Заранее спасибо!

~AsmodeuS~
Site Admin
Сообщения: 5704
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Как уменьшить размер базы данных?

Сообщение ~AsmodeuS~ » Пт дек 22, 2017 8:29 am

s_detail можно удалить
из dv_log можно ненужные периоды вынеси в отдельный файл


или воспользоваться
http://abills.net.ua/wiki/doku.php/abil ... logov_bazy

femistoklus
Сообщения: 24
Зарегистрирован: Чт фев 05, 2015 6:53 am

Re: Как уменьшить размер базы данных?

Сообщение femistoklus » Пт дек 22, 2017 9:19 am

~AsmodeuS~ писал(а): из dv_log можно ненужные периоды вынеси в отдельный файл
Хочу уточнить, в отдельный файл или таблицу (ротацией)?
И тогда сразу напрашивается следующий вопрос)) После ротации dv_logs могу ли я по тому же принципу, что и с таблицами s_detail удалить таблицы со старыми данными dv_logs?
И последний вопрос. Таблица fees (туда, как я понял, складываются данные по списаниям АП), тоже немаленькая, ее можно ротировать и затем удалять таблицы с ненужными уже периодами?

Заранее благодарю за ответ!

~AsmodeuS~
Site Admin
Сообщения: 5704
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Как уменьшить размер базы данных?

Сообщение ~AsmodeuS~ » Пт дек 22, 2017 9:46 am

femistoklus писал(а):
~AsmodeuS~ писал(а): из dv_log можно ненужные периоды вынеси в отдельный файл
Хочу уточнить, в отдельный файл или таблицу (ротацией)?
И тогда сразу напрашивается следующий вопрос)) После ротации dv_logs могу ли я по тому же принципу, что и с таблицами s_detail удалить таблицы со старыми данными dv_logs?
И последний вопрос. Таблица fees (туда, как я понял, складываются данные по списаниям АП), тоже немаленькая, ее можно ротировать и затем удалять таблицы с ненужными уже периодами?

Заранее благодарю за ответ!

да можно ротировать и удалить или прост оудалить с таблицы за ненужные периоды

Ответить