Кеширование в MySQL: базовые понятия

Краткая справка о том, как работает кеширование в MySQL и какие настройки влияют на скорость запросов движка.

Что кеширует MySQL

Кеш MySQL хранит результаты обращений к таблицам в оперативной памяти, чтобы повторные запросы не перечитывали данные с диска. Параметр key_buffer_size определяет объём этого кеша для движка MyISAM, а innodb_buffer_pool_size выполняет аналогичную роль для InnoDB. Если таблица целиком помещается в кеш, чтение идёт быстрее, но при увеличении базы часть данных всё равно уходит на диск.

Практические проверки

Начните с просмотра текущих значений через SHOW VARIABLES. Затем сравните скорость типовых запросов до и после изменения размера кеша на тестовой копии базы. Нагрузка на сайт и объём данных сильно влияют на результат, поэтому универсальной цифры не существует.