Настройка типа хранения помесячных и подневных таблиц в MySQL

Для периодических таблиц (помесячных вида xxx_mid_yyyyMM и подневных вида xxx_mid_yyyyMMdd) таблиц можно задавать отдельно "движок" и папку для хранения данных и индексов (эта опция поддерживается только для MyIsam). Необходимо указывать в конфигурации сервера биллинга (меню Сервис⇒Настройкa⇒Конфигурация).

table.create.<table_name>.data.directory=<data_dir>
table.create.<table_name>.index.directory=<index_dir>
table.create.<table_name>.engine=<engine>

Где:

  • <table_name> - это часть имени периодической таблицы, в которую не входит дата;

  • <data_dir> - каталог для хранения данных таблицы (работает только для MyIsam-таблиц);

  • <index_dir> - каталог для хранения индексов таблицы (работает только для MyIsam-таблиц);

  • <engine> - "движок" хранения таблиц (InnoDB, MyIsam).

Например:

table.create.log_session_12.data.directory=/home/mysql
table.create.log_session_12.index.directory=/home/mysql
table.create.log_session_12.engine=INNODB

Указанные значения преобразуются в атрибуты DATA DIRECTORY, INDEX DIRECTORY и ENGINE команды CREATE TABLE при создании новой периодической таблицы. Более подробно читайте об этом в документации по MySQL.

Рекомендуется использование движка InnoDb для критических таблиц с большим количеством конкурирующих операций чтения-записи и MyIsam-движка для редко считываемых таблиц (различные логи).

Для оптимизации вставки в таблицы логов часто используется опция DELAYED INSERT, которая поддерживается только для "движка" MyIsam.