برای ایجاد Column Stored Index ابتدا باید فیلدهای شرکت کننده در ایندکس را تعیین و پس از آن ایندکس را ایجاد نمایید. مثال زیر نحوه انجام اینکار را نمایش میدهد.
۱- برای شروع کار یک جدول جدید ایجاد میکنیم. این جدول دارای یک Primary Key است که با استفاده از Clustered Index ایجاد شده است. بدلیل اینکه جداول شما از قبل وجود دارند ممکن است این مرحله جزء کار شما نباشد.
USE tempdb
GO
IF OBJECT_ID(
'Employees'
,
'U'
)
IS
NOT
NULL
DROP
TABLE
Employees
GO
CREATE
TABLE
Employees_ColumnBased
(
Code
INT
IDENTITY
CONSTRAINT
PK_Code
PRIMARY
KEY
,
FirstName NVARCHAR(50),
LastName NVARCHAR(80),
HireDate SMALLDATETIME,
City NVARCHAR(20)
)
GO
INSERT
INTO
Employees_ColumnBased (FirstName,LastName,HireDate,City)
VALUES
(N
'مسعود'
,N
'طاهری'
,
'۲۰۰۰-۰۱-۰۱'
,N
'میانه'
),
(N
'فرید'
,N
'طاهری'
,
'۲۰۰۳-۰۱-۰۱'
,N
'میانه'
),
(N
'احمد'
,N
'غفاری'
,
'۲۰۰۳-۰۱-۰۱'
,N
'میانه'
),
(N
'خدیجه'
,N
'افروزنیا'
,
'۲۰۰۰-۰۱-۰۱'
,N
'تهران'
),
(N
'مجید'
,N
'طاهری'
,
'۲۰۰۵-۰۱-۰۱'
,N
'تهران'
)
GO
INSERT
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