برای ایجاد Column Stored Index ابتدا باید فیلدهای شرکت کننده در ایندکس را تعیین و پس از آن ایندکس را ایجاد نمایید. مثال زیر نحوه انجام اینکار را نمایش میدهد.
۱- برای شروع کار یک جدول جدید ایجاد میکنیم. این جدول دارای یک Primary Key است که با استفاده از Clustered Index ایجاد شده است. بدلیل اینکه جداول شما از قبل وجود دارند ممکن است این مرحله جزء کار شما نباشد.
USE tempdbGOIF OBJECT_ID('Employees', 'U') IS NOT NULL
DROP TABLE Employees
GOCREATE TABLE Employees_ColumnBased
( Code INT IDENTITY CONSTRAINT PK_Code PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(80),
HireDate SMALLDATETIME,
City NVARCHAR(20)
)GOINSERT INTO Employees_ColumnBased (FirstName,LastName,HireDate,City) VALUES
(N'مسعود',N'طاهری','۲۰۰۰-۰۱-۰۱',N'میانه'),
(N'فرید',N'طاهری','۲۰۰۳-۰۱-۰۱',N'میانه'),
(N'احمد',N'غفاری','۲۰۰۳-۰۱-۰۱',N'میانه'),
(N'خدیجه',N'افروزنیا','۲۰۰۰-۰۱-۰۱',N'تهران'),
(N'مجید',N'طاهری','۲۰۰۵-۰۱-۰۱',N'تهران')
GOINSERT INTO Employees_ColumnBased (FirstName,LastName,HireDate,City)
SELECT FirstName,LastName,HireDate,City FROM Employees_ColumnBased
GO 10
CREATE NONCLUSTERED COLUMNSTORE INDEX IX_ColumnStore
ON Employees_ColumnBased(FirstName,LastName,HireDate)
GOنکته مهمی که باید در ایجاد این نوع از ایندکسها در نظر گرفت این است که به دلیل افزایش Performance معمولاً در بیشتر مواقع این ایندکسها با توجه به کوئریهای شما ایجاد میگردند. بدین صورتکه
۴- در صورتیکه بخواهید Column Stored Index را به صورت ویژوالی در Management Studio ایجاد کافی است مراحل زیر را انجام دهید.
۱- همانند تصویر زیر پس از انتخاب جدول بر روی قسمت ایندکس کلیک راست کرده و پس از انتخاب گزینه New Index
گزینه Non Clustered Column Stored Index را انتخاب کنید.

۲- همانطور که در پنجره New Index مشاهده میکنید نوع ایندکس شما Non Clustered Column Store بوده و با استفاده از دکمه Add به راحتی میتوانید فیلدهای مورد نظر را به ایندکس اضافه نمایید.

NikAmooz.com