Spec-Zone .ru
спецификации, руководства, описания, API

8.13.2.1. Индексировать Перекрестный Алгоритм Доступа Слияния

Этот алгоритм доступа может использоваться когда a WHERE пункт был преобразован в несколько условий диапазона на различных ключах, объединенных с AND, и каждое условие является одним из следующего:

Примеры:

SELECT * FROM innodb_table WHERE primary_key < 10 AND key_col1=20;SELECT * FROM tbl_name  WHERE (key1_part1=1 AND key1_part2=2) AND key2=2;

Индексировать перекрестный алгоритм Слияния выполняет одновременные сканирования на всех используемых, индексирует и производит пересечение последовательностей строки, которые это получает от объединенного, индексируют сканирования.

Если все столбцы, используемые в запросе, покрываются используемым, индексирует, полные строки таблицы не получаются (EXPLAIN вывод содержит Using index в Extra поле в этом случае). Вот пример такого запроса:

SELECT COUNT(*) FROM t1 WHERE key1=1 AND key2=1;

Если используемый индексирует, не покрывают все столбцы, используемые в запросе, все строки получаются только, когда условия диапазона для всех используемых ключей удовлетворяются.

Если одно из объединенных условий является условием по первичному ключу InnoDB таблица, это не используется для извлечения строки, но используется, чтобы отфильтровать полученное использование строк других условий.