Spec-Zone .ru
спецификации, руководства, описания, API
|
Настроить запросы для InnoDB
таблицы, создайте соответствующий набор, индексирует
на каждой таблице. См. Раздел 8.3.1, "Использование MySQL How
Индексирует" для деталей. Следуйте за этими направляющими линиями для InnoDB
индексирует:
Поскольку каждый InnoDB
у таблицы есть первичный
ключ (запрашиваете ли Вы один или не), определите ряд столбцов первичного ключа для каждой таблицы,
столбцов, которые используются в самых важных и строго ограниченных во времени запросах.
Не определяйте слишком многих или слишком длинные столбцы в первичном ключе, потому что эти значения столбцов дублируются в каждом вторичном устройстве, индексируют. Когда индексирование содержит ненужные данные, ввод-вывод, чтобы считать эти данные и память, чтобы кэшироваться, это уменьшает производительность и масштабируемость сервера.
Не создавайте отдельное вторичное устройство, индексируют для каждого столбца, потому что каждый запрос может только использовать, каждый индексирует. Индексирует на редко протестировавших столбцах, или столбцы только с несколькими различными значениями не могли бы быть полезными для любых запросов. Если у Вас есть много запросов для той же самой таблицы, тестируя различные комбинации столбцов, попытайтесь создать небольшое количество связанного, индексирует, а не большое количество единственного столбца индексирует. Если индексирование содержит все столбцы, необходимые для набора результатов (известный, поскольку покрытие индексирует), запрос мог бы быть в состоянии избежать читать табличные данные вообще.
Если индексированный столбец не может содержать никого NULL
значения, объявите это как NOT NULL
когда
Вы составляете таблицу. Оптимизатор может лучше определить, которые индексируют, является самым
эффективным, чтобы использовать для запроса, когда он знает, содержит ли каждый столбец NULL
значения или нет.
В MySQL 5.6.4 и выше, можно оптимизировать транзакции единственного запроса для
InnoDB
таблицы, используя метод в Разделе
14.2.4.2.3, "Оптимизация для Транзакций Только для чтения".
Если у Вас часто есть повторяющиеся запросы для таблиц, которые часто не обновляются, включают кэшу запроса:
[mysqld]query_cache_type = 1query_cache_size = 10M