Sobes.tech
Junior — Middle

In welchen Fällen führt die Datenbank eine sequentielle Durchsicht der Tabelle durch, anstatt einen Index zu verwenden?

sobes.tech KI

Antwort von AI

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

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

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