মার্ক এস তার পোস্টে কী উল্লেখ করেছে তার একটি খুব গুরুত্বপূর্ণ নোট যুক্ত করতে। প্রশ্নে উল্লিখিত সুনির্দিষ্ট এসকিউএল স্ক্রিপ্টে আপনি আপনার ডেটা সারি এবং সূচী ডেটা কাঠামো সংরক্ষণের জন্য দুটি পৃথক ফাইল গোষ্ঠী উল্লেখ করতে পারবেন না।
এক্ষেত্রে সূচকটি তৈরি হচ্ছে তা আপনার প্রাথমিক কী কলামে একটি ক্লাস্টার্ড সূচক। ক্লাস্টারড ইনডেক্স ডেটা এবং আপনার টেবিলের ডেটা সারিগুলি বিভিন্ন ফাইল গোষ্ঠীতে কখনও থাকতে পারে না ।
তাই যদি আপনি আপনার ডাটাবেস যেমন প্রাথমিক এবং মাধ্যমিক তারপর নিচে উল্লিখিত স্ক্রিপ্ট দুটি ফাইল গ্রুপ আপনার সারি ডেটা এবং ক্লাস্টার সূচক ডেটা উভয় প্রাথমিক ফাইল গ্রুপ নিজেই যদিও আমি একটি আলাদা ফাইল গ্রুপ (উল্লেখ করেছি সংরক্ষণ করবে আছে [SECONDARY]
টেবিলের তথ্য জন্য) । আরও আকর্ষণীয়ভাবে স্ক্রিপ্টটি সফলভাবে চলতে চলেছে (যখন আমি এটির একটি ত্রুটি দেওয়ার প্রত্যাশা করছিলাম কারণ আমি দুটি পৃথক ফাইল গ্রুপ দিয়েছি: পি)। এসকিউএল সার্ভার নীরবে এবং স্মার্টভাবে দৃশ্যের পিছনে কৌশলটি করে।
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
আলাদা ফাইল গ্রুপে নন-ক্লাস্টারড ইনডেক্সগুলি কীভাবে আপনার প্রশ্নগুলি আরও ভাল করতে সহায়তা করতে পারে সে সম্পর্কে আপনি আরও তথ্য পেতে পারেন। এই জাতীয় একটি লিঙ্ক এখানে ।