14.8.11 Настройка статистики оптимизатора для InnoDB
В этом разделе описано, как настроить постоянную и непостоянную статистику оптимизатора для таблиц InnoDB.
Постоянная статистика оптимизатора сохраняется после перезагрузки сервера, что позволяет повысить стабильность и согласованность производительности запросов. Постоянная статистика оптимизатора также предоставляет контроль и гибкость с этими дополнительными преимуществами:
Можно использовать параметр конфигурации
innodb_stats_auto_recalc, чтобы управлять автоматическим обновлением статистики после существенных изменений в таблице.Можно использовать предложения
STATS_PERSISTENT,STATS_AUTO_RECALCиSTATS_SAMPLE_PAGESс операторамиCREATE TABLEиALTER TABLEдля настройки статистики оптимизатора для отдельных таблиц.Можно запросить данные статистики оптимизатора в таблицах
mysql.innodb_table_statsиmysql.innodb_index_stats.Можно просмотреть столбец
last_updateв таблицахmysql.innodb_table_statsиmysql.innodb_index_stats, чтобы увидеть, когда статистика была обновлена в последний раз.Можно вручную изменить таблицы
mysql.innodb_table_statsиmysql.innodb_index_stats, чтобы принудительно задать определённый план оптимизации запросов или проверить альтернативные планы без изменения базы данных.
Функция постоянной статистики оптимизатора включена по умолчанию (innodb_stats_persistent=ON).
Непостоянная статистика оптимизатора очищается при каждой перезагрузке сервера и после некоторых других операций, а затем пересчитывается при следующем обращении к таблице. В результате при пересчёте статистики могут быть получены разные оценки, что приведёт к выбору различных планов выполнения и вариациям в производительности запросов.
В этом разделе также содержится информация об оценке сложности оператора ANALYZE TABLE, что может быть полезно при попытке сбалансировать точность статистики и время выполнения оператора ANALYZE TABLE.
© 2025 Oracle
Licensed under the GPLv2 License.