17.8.10 Настройка статистики оптимизатора для 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.