SQL Server: Столбцы индекса, используемые в подобном?

Map.Entry

Эти встроенные классы являются опцией, также. Оба реализуют Map.Entry интерфейс.

UML diagram of Map.Entry interface with pair of implementing classes

38
задан marc_s 8 September 2009 в 11:23
поделиться

3 ответа

Учитывая данные 'abcdefg'

WHERE Column1 LIKE '%cde%'  --can't use an index

WHERE Column1 LIKE 'abc%' --can use an index

WHERE Column1 Like '%defg' --can't use an index, but see note below

Примечание. Если у вас есть важные запросы, требующие '% defg', вы можете использовать постоянный вычисляемый столбец, в котором вы ОБРАТИТЕ () столбец, а затем индексируйте Это. Затем вы можете запросить:

WHERE Column1Reverse Like REVERSE('defg')+'%' --can use the persistent computed column's index
71
ответ дан 27 November 2019 в 03:21
поделиться

По моему опыту, первый знак% сделает любой индекс бесполезным, но один в конце будет использовать индекс.

11
ответ дан 27 November 2019 в 03:21
поделиться

Чтобы ответить на часть вашего вопроса, касающуюся показателей: Тип выполняемого сканирования / поиска индекса / таблицы является хорошим индикатором для определения того, используется ли индекс (правильно). Обычно он отображается вверху в анализаторе плана запроса.

Следующие типы сканирования / поиска отсортированы от худшего (вверху) к лучшему (внизу):

  • Сканирование таблицы
  • Сканирование кластеризованного индекса
  • Сканирование индекса
  • Поиск кластеризованного индекса
  • Поиск индекса

Как правило, вы обычно стараетесь получить поиск поверх сканирования, когда это возможно. Как всегда, есть исключения, зависящие от размера таблицы, запрашиваемых столбцов и т. Д. Я рекомендую выполнить поиск в StackOverflow по запросу «сканировать индекс поиска», и вы получите много полезной информации по этому вопросу.

6
ответ дан 27 November 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: