Проверка ключа индекса, используемого функцией rank () в sql - PullRequest
0 голосов
/ 07 августа 2020

С помощью EXPLAIN SELECT * FROM table1 where condition1 = condition1 and condition2 = condition2 вы можете проверить используемый индексный ключ, если он у вас есть.

Если у вас есть SELECT * RANK() OVER (ORDER BY condition3 DESC, condition4 ASC) AS table2 FROM table1, можете ли вы проиндексировать condition3 и condition4 для функции rank ()? Черт возьми, как вы вообще можете проверить индекс, используемый здесь функцией rank (), если вы выполнили индексацию?

1 Ответ

2 голосов
/ 07 августа 2020

Ответ положительный на оба ваших вопроса, и ваш запрос ранжирования должен выиграть от следующего индекса:

CREATE INDEX idx ON table1 (condition3 DESC, condition4);

Выполнение EXPLAIN по вышеуказанному запросу должно показать, что этот индекс используется.

...