Щоб додати дуже важливу примітку про те, що Марк С. згадав у своєму дописі. У конкретному 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
Ви можете отримати більше інформації про те, як зберігання некластеризованих індексів у іншій групі файлів може допомогти вашим запитам ефективніше. Ось одне таке посилання.