Sobes.tech
Junior — Middle
69

В каких случаях база данных выполняет последовательный просмотр таблицы вместо использования индекса?

Companies where asked
OkkoOkko

Answer from AI

sobes.tech AI

База данных выполняет последовательный просмотр таблицы (full table scan) вместо использования индекса в следующих случаях:

  • Запрос возвращает большой процент строк таблицы, и использование индекса будет менее эффективно, чем последовательный просмотр.
  • В таблице отсутствует подходящий индекс для условий запроса.
  • Статистика таблицы устарела или отсутствует, и оптимизатор не может правильно оценить стоимость использования индекса.
  • Запрос содержит функции или операции над индексируемыми столбцами, которые не позволяют использовать индекс (например, функции преобразования).
  • Индекс повреждён или недоступен.
  • Запрос использует условия, которые не могут быть эффективно обработаны индексом (например, LIKE '%pattern').

Оптимизатор выбирает последовательный просмотр, если считает, что это будет быстрее, чем использование индекса.