اندیس (Cluster Index) درSQL Server

در این مقاله Index ها در SQL Server را با یک روش ساده بررسی خواهیم کرد . خیلی از تازه کار ها و دانش آموزان با درک و فهمیدن مفهوم Index در SQL Server مشکل دارند . در این مقاله به بررسی آن خواهیم پرداخت و با ارائه مثال و بررسی مرحله به مرحله آن سعی میکنیم که مطلب را برای شما جا بندازیم .

اندیس (Cluster Index) درSQL Server

تعریف :

Index یک Object از SQL می باشد . این یک ساختار داده است که سرعت عملیات واکشی را بهبود میبخشد . index یکی از بهبود دهنده های کوئری است که برای افزایش و بالا بردن کارایی مورد استفاده قرار میگیرد . 

مثال Real-Time :

سیستم تایید بلیط تمرین مثال خوبی برای index ها می باشد چون  این تایید دارای جزئیاتی نظیر شماره مربی ، شماره محل نشستن و جزئیات مربوط به محل ایست کردن وجود دارد . ما میتوانیم محل نشستن خودمان را به راحتی هر چه تمام تر پبدا کنیم . اگر ما این جزئیات را نداشته باشیم ، ما باید هر مربی را بررسی کنیم ، که زمان بیشتری از ما میگیرد . 



انواع Index :

در SQL Server دو نوع Index وجود دارد :
1. Cluster Index -- اندیس هایی که چندگانه هستند .
2. Non-Cluster Index -- اندیس هایی که چندگانه نیستند .

Syntax :

[Create [Type of index] [Index Name] On [Table Name

توضیحات :

1. "Create" و "on" جزو کلمات کلیدی SQL Server هستند . 
2. [ Type of Index ] - نوع Index که ما نیاز به ایجاد آن داریم . 
3. [ Index Name ] - نام Index است که توسط کاربر داده می شود .
4. [ Table Name ] - نام جداول و فیلد هایی که برای ایجاد Index مورد استفاده قرار میگیرد . 

نمودار Syntax :




Cluster Index - اندیس چندگانه :

Cluster Index یک از objectهای SQL Server میباشد . ما می توانیم از متد زیر برای ایجاد یک Index استفاده کنیم . این نوع از Index ها امکان گرفتن چند مقدار را دارند . 

مثال - کوئری :

(CREATE CLUSTERED INDEX IX_Test_Id ON test(Id



بعد از ایجاد Index , مقادیر را وارد کنید . هم زمان با این ، ما میتوانیم برای اندیس id یکسانی را نیز وارد کنیم . 


Cluster Index منحصر به فرد :

Cluster Index منحصر به فرد فقط مقادیر منحصر به فرد را قبول میکند و مقادیر Duplicate را نمی پذیرد . 

مثال - کوئری :

(CREATE UNIQUE CLUSTERED INDEX IX_Unique_Test_Id ON test(Id


بعد از ایجاد Cluster Index منحصر به فرد ، ما در فیلد هایی که Unique ساخته شده اند نمیتوانیم داده تکراری وارد کنیم . ابتدا ، دو رکورد وارد جدول Test میکنیم . سپس ، زمانی که داده ای تکراری بخواهیم وارد جدول بکنیم با پیام خطای زیر مواجه خواهیم شد . 




نکته : ما بعد وارد کردن داده ها میتوانیم Index منحصر بفرد ایجاد کنیم ، که اگر ما در جدول خود داده ای تکراری داشته باشیم با خطایی که در زیر نمایش داده شده است مواجه خواهیم شد . 


جدول بالا دارای داده های تکراری میباشد . بنابراین ، اگر ما برای ایجاد اندیس Unique اقدام کنیم ، با خطای زیر مواجه خواهیم شد :

ترکیب Cluster Index :

زمانی که ما یک Index ایجاد میکنیم که ترکیبی از نام ستونهای یک جدول یا یک فیلد است ، به این ترکیب Cluster Index میگویند .  ما امکان وارد کردن داده های duplicate را در این Index داریم :

مثال - کوئری :

(CREATE CLUSTERED INDEX IX_Test_Id ON test(Id,Name

ما برای ترکیب دو ستون - یکی برای Id  و دیگری برای Name -  یک Index ایجاد میکنیم . 


در جدول ما ، همانطور که در زیر نمایش داده شده است ما دو رکورد وارد جدول میکنیم :




ترکیب Cluster Index مقدار تکراری را میپذیرد ، تصویر زیر را مشاهده فرمایید :




ترکیب Cluster Index منحصر به فرد :

ترکیب Cluster Index منحصر به فرد ، ترکیبی از unique و Composite میباشد . که مقدار تکراری را نمی پذیرد . 

مثال :

(CREATE UNIQUE CLUSTERED INDEX IX_Test_Id ON test(Id,Name


بعد از ایجاد این ، ما نمیتوانیم مقداری تکراری در آن وارد کنیم . برای مثال ، ما دو داده با مقادیر مختلف وارد جدول میکنیم . اما زمانی که سعی می کنیم که یک داده تکراری وارد جدول کنیم با خطای زیر مواجه خواهیم شد . 



نکته : توجه داشته باشید که ما بعد از وارد کردن رکورد ها میتوانیم Index را ایجاد کنیم . اما اگر داده تکراری در جدول وجود داشته باشد نیز ما با خطا مواجه خواهیم شد . به این دلیل که در این نوع Index داده تکراری مجاز نیست . 



در تصویر بالا ، داده های تکراری را در جدول مشاهده میکنید . اگر این Index با خطایی مواجه شود همانند تصویر زیر خواهد شد . 


طریقه بررسی Index ها در جدول :

ما نام Index و شماره Index ساخته شده در جدول SQL Server را میتوانیم پیدا کنیم . به تصویر زیر توجه فرمایید :



نتیجه گیری :

ما در این مقاله با  Cluster Index و انواع آن آشنا شدیم . امدواریم که این مقاله برای شما مفید واقع شده باشد . 

دانلود نسخه ی PDF این مطلب