Spec-Zone.ru › MySQL 8.4

10.5.6 Оптимизация запросов InnoDB

Для настройки запросов к таблицам InnoDB, создайте соответствующий набор индексов для каждой таблицы. Подробности см. в разделе 10.3.1, «Как MySQL использует индексы». Следуйте этим рекомендациям для индексов InnoDB:

  • Поскольку каждая таблица InnoDB имеет (независимо от того, запрашиваете ли вы его), укажите набор столбцов первичного ключа для каждой таблицы, столбцы, которые используются в наиболее важных и критически важных запросах.

  • Не указывайте слишком много или слишком длинные столбцы в первичном ключе, поскольку значения этих столбцов дублируются в каждом дополнительном индексе. Когда индекс содержит ненужные данные, ввод-вывод для чтения этих данных и память для кэширования их снижают производительность и масштабируемость сервера.

  • Не создавайте отдельный индекс для каждого столбца, поскольку каждый запрос может использовать только один индекс. Индексы по редко используемым столбцам или столбцам с небольшим количеством различных значений могут не быть полезными для каких-либо запросов. Если у вас много запросов для одной и той же таблицы, тестируя различные комбинации столбцов, старайтесь создавать небольшое количество индексов, а не большое количество индексов по одному столбцу. Если индекс содержит все столбцы, необходимые для набора результатов (известный как составной индекс), запрос, возможно, сможет вообще избежать чтения данных из таблицы.

  • Если индексируемый столбец не может содержать каких-либо NULL значений, объявите его как NOT NULL при создании таблицы. Оптимизатор может лучше определить, какой индекс наиболее эффективен для запроса, когда он знает, содержит ли каждый столбец NULL значения.

  • Вы можете оптимизировать транзакции отдельных запросов для таблиц InnoDB, используя технику, описанную в разделе 10.5.3, «Оптимизация транзакций только для чтения InnoDB».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/optimizing-innodb-queries.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API