Добавить очень важное примечание о том, что Марк С. упомянул в своем посте. В конкретном SQL-скрипте, который был упомянут в этом вопросе, вы НИКОГДА не должны упоминать две разные группы файлов для хранения ваших строк данных и структуры данных индекса.
Причина этого заключается в том, что создаваемый в этом случае индекс является кластеризованным индексом в столбце первичного ключа. Данные кластерного индекса и строки данных вашей таблицы НИКОГДА не могут находиться в разных файловых группах .
Таким образом, если в вашей базе данных есть две группы файлов, например, PRIMARY и SECONDARY, то нижеприведенный скрипт сохранит ваши данные строк и данные кластерного индекса как в самой группе файлов PRIMARY, хотя я упомянул другую группу файлов ( [SECONDARY]
) для данных таблицы. , Более интересно то, что скрипт также успешно работает (когда я ожидал, что он выдаст ошибку, как я дал две разные группы файлов: P). SQL Server делает трюк за кулисами молча и умно.
CREATE TABLE [dbo].[be_Categories](
[CategoryID] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_be_Categories_CategoryID] DEFAULT (newid()),
[CategoryName] [nvarchar](50) NULL,
[Description] [nvarchar](200) NULL,
[ParentID] [uniqueidentifier] NULL,
CONSTRAINT [PK_be_Categories] PRIMARY KEY CLUSTERED
(
[CategoryID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [SECONDARY]
GO
ПРИМЕЧАНИЕ. Ваш индекс может находиться в другой файловой группе, ТОЛЬКО если созданный индекс не является кластеризованным по своей природе .
Приведенный ниже скрипт, который создает некластеризованный индекс, будет создан [SECONDARY]
вместо файловой группы, когда данные таблицы уже находятся в [PRIMARY]
файловой группе:
CREATE NONCLUSTERED INDEX [IX_Categories] ON [dbo].[be_Categories]
(
[CategoryName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [Secondary]
GO
Вы можете получить больше информации о том, как хранение некластеризованных индексов в другой файловой группе может помочь вашим запросам работать лучше. Вот одна из таких ссылок.