2010-05-13 4 views
1

Я работаю над системой баз данных и ее индексами, но мне очень трудно найти четкую разницу между индексом покрытия и кластеризованным индексом.Индекс покрытия по сравнению с кластеризованным индексом (индекс базы данных)

Я гугл своего пути вокруг, но не получил четкий срез ответа на:

  1. Что различия между этими двумя типами индексов
  2. Когда я использую индекс покрытия и когда делать Я использую Clustered index.

Я надеюсь, что кто-то может объяснить мне в почти дети, как ответ :-)

С уважением Mestika

Кстати, я использую версию IBM DB2 9.7

ответ

3

Я не могу говорить с DB2, но следующее относится к SQL Server.

Когда все необходимые столбцы являются частью индекса, индекс называется «охватывающим индексом». SQL Server 2005 представил этот тип индекса, предоставив вам «включенные столбцы» в индекс. Это позволяет включать дополнительные столбцы в индекс по 16 столбцам или столбцам, которые будут слишком большими для включения.

Хотя вы можете иметь только один кластерный индекс для каждой таблицы, вы можете иметь до 249 некластеризованных индексов для каждой таблицы.

Имея индекс охвата, доступный для удовлетворения запроса, SQL Server не потребуется возвращаться к кластерному индексу для получения остальной части данных, необходимых для запроса.

Randy

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