Общие способы ускорения Сервера MySQL:
- innodb_flush_commit=0 может помочь устранить лишние задержки;
- Оптимизируйте оспользование типов данных, используйте последовательные типы данных;
- Использования процедуру ANALYSE(), чтобы помочь определить наилучший тип данных для Ваших потребностей;
- Если возможно используйте компрессию;
- сожмите статические данные text/blobs;
- При запросах и буферизуйте кеш если возможно (config params — http://docs.cellblue.nl/2007/03/17/easy-mysql-performance-tweaks/);
- используйте один из поставляемых config файлов;
- используйте key_buffer, кеш unix (оставляют некоторую RAM свободной), переменные связи, innodb переменные памяти;
- проверьте SHOW STATUS и SHOW VARIABLES (GLOBAL|SESSION в 5.0 и выше);
- знайте об обмене с Linux, «swappiness» (обойдите OS filecache для innodb таблиц данных, innodb_flush_method=O_DIRECT, если возможный (это — для определенной OS);
- Дефрагментируйте таблицы, восстановите индексы, ведите постоянное обслуживание;
- Если Вы используете innodb_flush_txn_commit=1, использование, поддержанный кеш аппаратных средств, запись большие обьемы RAM — лучше, это ускоряет дисковую скорость, используйте 64-битовую архитектуру;
- Увеличьте myisam_sort_buffer_size, чтобы оптимизировать большие вставки (это — переменная связи);
- Ищите память, настраивающую параметр для кэширования на вставке;
- Увеличьте temp размер для таблиц в окружающей среде складирования данных (поумолчанию составляет 32 МБ), таким образом это не пишет диску (также ограниченный max_heap_table_size, поулочанию 16 МБ);
- Управляемый в SQL_MODE=STRICT, чтобы помочь идентифицировать предупреждения;
- Избыточные данные избыточны и мешают работе;