Spec-Zone.ru › MariaDB

Использование INDEX

Вы можете ограничить рассматриваемые индексы с помощью опции USE INDEX.

Синтаксис

USE INDEX [{FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])

Описание

По умолчанию используется 'FOR JOIN', что означает, что подсказка влияет только на оптимизацию условия WHERE.

USE INDEX используется после имени таблицы в предложении FROM.

USE INDEX не может использовать исключённый индекс — он будет обрабатываться так, как будто его не существует.

Префиксы индексов

При использовании подсказок индексов (USE, FORCE или IGNORE INDEX) имя индекса также может быть недвусмысленным префиксом имени индекса.

Пример

CREATE INDEX Name ON City (Name);
CREATE INDEX CountryCode ON City (Countrycode);
EXPLAIN SELECT Name FROM City USE INDEX (CountryCode)
WHERE name="Helsingborg" AND countrycode="SWE";

Это даёт:

id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	City	ref	CountryCode	CountryCode	3	const	14	Using where

Если бы мы не использовали USE INDEX, индекс Name был бы в возможных ключах.

См. также

  • Подсказки индексов: Как принудительно задать планы запросов для получения дополнительных сведений
  • IGNORE INDEX
  • FORCE INDEX
  • Исключённые индексы
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется компанией MariaDB предварительно. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/use-index/

Spec-Zone.ru

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