Для профилирования mysql управляют, чтобы Вы могли использовать SHOW PROFILE
mysql> SET profiling = 1;
mysql> [type your query here]
mysql> SHOW PROFILE;
и получить больше информации о том, что сделал бы mysql для получения желаемого результата, Вы могли использовать EXPLAIN
.
mysql> EXPLAIN [type your query here]
Хорошие начальные точки для оптимизации являются использованием индексов и увеличением использования памяти в my.cnf
(параметры по умолчанию могли быть очень низкими). Если Вы удаляете много данных в таблице OPTIMIZE TABLE
могло также быть полезным.
OPTIMIZE TABLE table;
В любом случае необходимо использовать вывод ВЫСТАВОЧНОГО ПРОФИЛЯ для определения, какие части требуются большое количество времени и стоят быть оптимизированными.
Знайте к переключателю кэша запроса при оптимизации. Вы обманули бы себя иначе.
Во-первых, никакая оптимизация и кэширование не могут заменить физическое оборудование. Лучшая форма оптимизации — добавить больше памяти на ваш сервер, а затем выполнить шаги по оптимизации.
Оптимизация MySQL — это непрерывная процедура. Вы должны проводить оптимизацию MySQL каждую неделю. Это позволит вам настроить конфигурацию MySQL.
Пять лет назад, когда был задан этот вопрос, мы были на Trusty Tahr, который я помню больше всего, и с ним был файл my.cnf
, который можно было отредактировать, перемотать вперед в Xenial, если открыть /etc/mysql
нет файла my.cnf
для редактирования. Сейчас это ссылка на/etc/alternatives/my.cnf
Файл, который вы хотите отредактировать с помощью Xenial (Ubuntu 16 ), находится в другом каталоге, и это /etc/mysql/mysql.conf.d
. Файл, который вы будете редактировать для тех, кто просматривает этот пост, который я сейчас ускорю, называется mysqld.cnf
.
Создайте резервную копию вашего файла, затем вернитесь в свой домашний каталог и используйте mysqlcheck
для оптимизации ваших баз данных.