Индекс покрытия по сравнению с кластерным индексом (индекс базы данных) - PullRequest
1 голос
/ 13 мая 2010

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

Я погуглил, но не получил однозначного ответа:

  1. В чем различия между двумя типами индексов
  2. Когда я использую индекс покрытия и когда я использую кластерный индекс.

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

С уважением, Местика

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

1 Ответ

3 голосов
/ 13 мая 2010

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

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

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

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

Randy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...