Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:manual:mysql_partitioning [2017/10/29 16:52] asmodeus |
abills:docs:manual:mysql_partitioning [2018/04/10 11:33] (текущий) asmodeus |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
Для улучшения производительности нужно использовать партиционирование таблиц. | Для улучшения производительности нужно использовать партиционирование таблиц. | ||
+ | |||
+ | для начала отключите стандарную ротацию логов | ||
+ | |||
+ | $conf{USE_PARTITIONING}=1 | ||
Для ручного партиционирования есть billd плагин | Для ручного партиционирования есть billd плагин | ||
Строка 22: | Строка 26: | ||
'errors_log' | 'errors_log' | ||
'internet_log' | 'internet_log' | ||
+ | | ||
+ | Для выбора отдельной таблицы используйте аргумент **TABLES=xxx,xx,xxx** | ||
+ | | ||
| | ||
Перед началом партиционизации таблиц, приведите контрольные поля к правильному формату | Перед началом партиционизации таблиц, приведите контрольные поля к правильному формату | ||
Строка 30: | Строка 37: | ||
ALTER TABLE `errors_log` CHANGE COLUMN date date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; | ALTER TABLE `errors_log` CHANGE COLUMN date date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; | ||
ALTER TABLE `internet_log` CHANGE COLUMN start start TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; | ALTER TABLE `internet_log` CHANGE COLUMN start start TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; | ||
+ | | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ** Для MySQL < 5.6.5 **\\ | ||
+ | До версии 5.6.5 существовало ограничение на одну колонку с значением по умолчанию ''CURRENT_TIMESTAMP''. \\ | ||
+ | Если у вас возникает ошибка | ||
+ | <code> | ||
+ | ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause | ||
+ | </code> | ||
+ | **и нет возможности обновить mysql-server**, то вместо запроса | ||
+ | <code> | ||
+ | ALTER TABLE `ipn_traf_detail` CHANGE COLUMN f_time f_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; | ||
+ | </code> | ||
+ | нужно применить | ||
+ | <code> | ||
+ | ALTER TABLE `ipn_traf_detail` CHANGE COLUMN f_time f_time TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'; | ||
+ | </code> |