Mark S.'nin görevinde neler söylediğine çok önemli bir not eklemek için. Soruda belirtilen SQL Komut Dosyasında veri satırlarınızı ve dizin veri yapısını depolamak için ASLA iki farklı dosya grubundan söz edemezsiniz.
Bunun nedeni, bu durumda oluşturulan dizinin birincil anahtar sütununuzda kümelenmiş bir dizin olmasından kaynaklanmaktadır. Kümelenmiş dizin verileri ve tablonuzun veri satırları ASLA farklı dosya gruplarında olamaz .
Yani veritabanınızda PRIMARY ve SECONDARY gibi iki dosya grubunuz olması durumunda, aşağıda belirtilen komut dosyası [SECONDARY]
, tablo verileriniz için farklı bir dosya grubundan ( ) bahsetmiş olmama rağmen, satır verilerinizi ve kümelenmiş dizin verilerinizi hem PRIMARY dosya grubunun kendisinde depolar. . Daha ilginç bir şekilde komut dosyası da başarılı bir şekilde çalışıyor (iki farklı dosya grubu verdiğim gibi bir hata vermesini beklediğimde: P). SQL Server, sahne arkasındaki hileyi sessizce ve akıllıca yapar.
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
NOT: Dizininiz YALNIZCA yaratılan dizin doğada kümelenmemişse farklı bir dosya grubunda bulunabilir .
Kümelenmemiş bir dizin oluşturan aşağıdaki komut [SECONDARY]
dosyası, tablo verileri zaten [PRIMARY]
dosya grubunda bulunuyorsa, dosya grubunda oluşturulacaktır:
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
Kümelenmemiş dizinleri farklı bir dosya grubunda depolamanın, sorgularınızın daha iyi performans göstermesine nasıl yardımcı olabileceği hakkında daha fazla bilgi edinebilirsiniz. İşte böyle bir bağlantı.