Сколько кластерных индексов может быть в одной таблице? - PullRequest
28 голосов
/ 06 января 2011

В SQL Server 2008 сколько кластерных индексов может быть в одной таблице?

Ответы [ 5 ]

41 голосов
/ 06 января 2011

только один; и 999 некластеризованных индексов http://msdn.microsoft.com/en-us/library/ms143432.aspx

19 голосов
/ 06 января 2011

One. Как отмечено здесь :

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

6 голосов
/ 13 марта 2013

Для SQL Server 2005: 1 кластерный индекс + 249 некластеризованный индекс = 250 индекс

Для SQL Server 2008: 1 кластеризованный индекс + 999 некластеризованный индекс = 1000 индекс

0 голосов
/ 22 марта 2018

В sql сервере только один. DB2 предлагает возможность иметь больше, но по цене: двумерная кластеризация занимает много памяти (пропорционально квадрату строк)

0 голосов
/ 06 января 2011

1.

Хотя для этого есть определенные причины, может показаться немного странным, что разрешен только один кластерный индекс. Тот факт, что кластерный индекс сортирует данные внутри, на самом деле не объясняет причину наличия только одного такого индекса, потому что некластеризованные индексы сортируются точно так же, как кластерные. Некластеризованные индексы могут включать все данные таблицы так же, как кластеризованные. Поэтому, по крайней мере, в некоторых случаях вполне разумно создать несколько «кластерных» индексов или просто полностью ликвидировать это различие. Но SQL Server не позволит вам создать более одного.

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