Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот алгоритм доступа может использоваться когда a WHERE
пункт был преобразован в
несколько условий диапазона на различных ключах, объединенных с AND
, и каждое условие является одним из следующего:
В этой форме, где индексирование имеет точно N
части (то есть, все индексируют части, покрываются):
key_part1
=const1
ANDkey_part2
=const2
... ANDkey_partN
=constN
Любой передвигается условие на первичный ключ InnoDB
таблица.
Примеры:
SELECT * FROMinnodb_table
WHEREprimary_key
< 10 ANDkey_col1
=20;SELECT * FROMtbl_name
WHERE (key1_part1
=1 ANDkey1_part2
=2) ANDkey2
=2;
Индексировать перекрестный алгоритм Слияния выполняет одновременные сканирования на всех используемых, индексирует и производит пересечение последовательностей строки, которые это получает от объединенного, индексируют сканирования.
Если все столбцы, используемые в запросе, покрываются используемым, индексирует, полные строки таблицы не
получаются (EXPLAIN
вывод содержит Using index
в Extra
поле в этом
случае). Вот пример такого запроса:
SELECT COUNT(*) FROM t1 WHERE key1=1 AND key2=1;
Если используемый индексирует, не покрывают все столбцы, используемые в запросе, все строки получаются только, когда условия диапазона для всех используемых ключей удовлетворяются.
Если одно из объединенных условий является условием по первичному ключу InnoDB
таблица, это не используется для извлечения строки, но используется, чтобы отфильтровать полученное
использование строк других условий.