Как эффективно создавать многостолбцовые индексы? - PullRequest
0 голосов
/ 22 февраля 2019

Допустим, я кодировал.

create index use_index on tbl_nm (col2 ,col3 ,col4 ,col5);

будет использовать use_index в

select * from tbl_nm where col2="something", col5 = "something", col3="something");

Кроме того, мы должны были создать индекс, упорядочив самый уникальный слева инаиболее распространенный справа.да?

А если я хочу заказать результат запроса, мне тоже добавить этот столбец в индекс?

1 Ответ

0 голосов
/ 22 февраля 2019

В индексе должны быть как минимум ссылки, используемые в общих запросах, сначала следует поиск столбцов по диапазону.

Так что в вашем примере здесь col2 и col3 будут использовать этот индекс.но поскольку col4 отсутствует, поиск col5 не будет таким быстрым.то есть все col4 элементы с col2 и col3, совпадающими с «чем-то», будут сканироваться на предмет соответствия col5.

Если вы ищете col4 вместо col5, это будетбыть бинарным поиском требуемого элемента.

Используйте EXPLAIN {query}, чтобы показать, как используется индекс.

Рассмотрение наиболее уникальных и минимальных порядков индекса не учитывается..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...