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.