Range scan vs Unique Scan vs Skip Scan [закрыто]

Что означает уникальное сканирование, сканирование диапазона и пропуск сканирования? Мы можем явно решить, какие проверки? Каковы плюсы и минусы всех этих сканирований?

1 ответов


Это довольно понятно по их названию:

  • " уникальное " сканирование сканирует одно значение в уникальном индексе.

  • сканирование "диапазона" начинается с некоторого начального значения и последовательно считывает записи индекса (i,.e. вдоль b-дерева), пока не встретит значение, которое проходит мимо второго значения (поиск одного значения по не уникальному индексу-это сканирование диапазона, кстати).

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

каждый из них подходит (и оптимален) для данного типа сопоставления записей. Оптимизатор SQL почти всегда выбирает наиболее подходящий для данной ситуации (если статистика актуальна).