Middle+
22
0
questionbank

Когда полное сканирование набора данных бывает более эффективным, чем доступ по индексу?

Answer from sobes.tech neural network

Когда процент записей, которые необходимо обработать, достаточно высокий (например, более 10-20%), чтобы издержки на поиск по индексу и чтение отдельных блоков данных превзошли преимущества.

Другие случаи:

  • Отсутствие подходящего индекса: Если для запроса нет индекса, покрывающего фильтрующие поля или предоставляющего доступ к данным быстрее, чем полное сканирование.
  • Неравномерное распределение данных (skew): Если индексированное поле имеет низкую кардинальность и большая часть данных сосредоточена на небольшом количестве значений, сканирование может быть быстрее, чем обход большого количества листьев индекса с одинаковыми значениями.
  • Маленький набор данных: Для небольших таблиц издержки на поддержание и использование индекса могут быть выш

Когда процент записей, которые необходимо обработать, достаточно высокий (например, более 10-20%), чтобы издержки на поиск по индексу и чтение отдельных блоков данных превзошли преимущества.

Другие случаи:

  • Отсутствие подходящего индекса: Если для запроса нет индекса, покрывающего фильтрующие поля или предоставляющего доступ к данным быстрее, чем полное сканирование.
  • Неравномерное распределение данных (skew): Если индексированное поле имеет низкую кардинальность и большая часть данных сосредоточена на небольшом количестве значений, сканирование может быть быстрее, чем обход большого количества листьев индекса с одинаковыми значениями.
  • Маленький набор данных: Для небольших таблиц издержки на поддержание и использование индекса могут быть выш

Register or sign in to get access to full answers for all questions from the question bank.

sqldatabase-performancefull-scanindexingquery-optimization