2015-10-08 3 views
0
SELECT Col1 
FROM Tab1 
INNER JOIN Tab2 ON Tab1.Col2 = Tab2.Col2 
WHERE Tab1.Col3 = "some ID" 
GROUP BY Col1, Col4 
ORDER BY Col4 DESC 

Каким будет общий способ создания индекса покрытия для вышеуказанного случая?Каков общий порядок индексов для предложений SQL Server?

Является ли это как столбцам

  1. ORDER BY
  2. GROUP BY
  3. ГДЕ
  4. РЕГИСТРИРУЙТЕСЬ
  5. ВЫБОР

который походит

Я использую SQL Server 2000

+0

Для 'SELECT' вы должны иметь индекс в' (Col3) 'для обработки предложения WHERE', но для' ORDER BY' ваш индекс должен быть на ' (Col4) ', а для' GROUP BY' он должен быть на '(Col1, Col4)' - одним словом: вы не сможете обработать это с помощью одного индекса –

+0

Не покрывает индекс лучше, если запрос часто используется? –

+0

Да, конечно, но вы не сможете создать индекс покрытия, который удовлетворяет всем требованиям в то же время ..... –

ответ

0

Это то, что я нашел, тестируя

• Первая должна быть РЕГИСТРИРУЙТЕСЬ

о Индекс поле должно быть обратным РЕГИСТРИРУЙТЕСЬ заказ [снизу вверх ]

o Если JOIN ON PK, то любой Индекс, созданный в таблице, начинающейся с поля PK, НЕ будет использоваться. Сервер будет использовать только ПК.

• Тогда где

ссылки на заказ Индекс поле должно быть обратное от того, где порядок [снизу вверх]

• Тогда GROUP BY

• Тогда ORDER BY

• Затем SELECT [ если делается индекс покрытия]

Также указатель любых вычисленных столбцов

Наличие частичных индексов для View/Sproc не ускоряется. Если несколько столбцов индексируются в GROUP BY в запросе на несколько таблиц, индекс замедляет его. Первоначально он использует ПК и быстро. Так что не мешайте частичным индексам в нескольких табличных запросах

Если в представлении есть инструкция SQL, нет улучшения производительности, если вы индексируете SQL Statement. Индекс должен быть основан на View

Select * from Leasedetailsqry where status ='Active' And (territory LIKE 'Quebec') ORDER BY id

Индексация Территория, статус не дает каких-либо улучшений производительности. Вы должны индексировать на основании View Leasedetailsqry

Смежные вопросы