2013-05-10 2 views
1

Когда мы создаем индекс столбцов в огромной таблице, использует ли он отдельную физическую память на диске для хранения индекса хранилища coulmn или изменяет структуру хранилища базовой таблицы от строки до столбца магазин.SQL Server 2005 ColumnStore Index

Здесь мой вопрос: когда мы создаем нормальный индекс в любой таблице, он хранит индексированные данные столбца в b-дерево, используя отдельное хранилище, не затрагивая базовую таблицу, так же, как индекс столбцов столбца?

ответ

1

В SQL Server 2012 поддерживаются только индексы столбцов столбца nonclusterd, поэтому сама таблица не будет реорганизована.

http://msdn.microsoft.com/en-us/library/gg492153.aspx

NONCLUSTERED

Создает индекс columnstore, который задает логический порядок таблицы. Кластерные индексы столбцов не поддерживаются.

1

Индексы (за исключением кластеризованного индекса, который является его собственностью) хранятся в разных местах, они могут иметь собственную упаковку (пространство допускается для последующих вставок без слишком неуравновешенного дерева) и даже сохраняется на отдельные диски: CREATE INDEX .... ON PRIMARY, SECONDARY и т. д. Вы должны создать SECONDARY и дальнейшие файлы, прежде чем создавать индекс и выделять файл. Индексы назначаются логическому имени файла. Вы можете сократить расходы и увеличить скорость за счет того, что они являются одиночными, а не RAID-дисками, так как в случае отказа индекс может быть перестроен без потери данных. http://msdn.microsoft.com/en-us/library/ms188783.aspx и http://msdn.microsoft.com/en-us/library/gg492088.aspx