
ایندکس (Index) در SQL ساختاری است که برای افزایش سرعت جستجو و بازیابی دادهها از جداول پایگاه داده استفاده میشود. آنها با ذخیرهسازی مرتب و سازمانیافته مقادیر ستونهای خاص، امکان دسترسی سریعتر به ردیفها را فراهم میکند، مشابه فهرست یک کتاب.
مزایا:
کاهش زمان اجرای کوئریها، بهبود عملکرد در عملیات SELECT، JOIN و WHERE.
معایب:
افزایش فضای ذخیرهسازی و کند شدن عملیات درج، بهروزرسانی و حذف (INSERT, UPDATE, DELETE) به دلیل نیاز به بهروزرسانی ایندکس.
انواع:
Clustered: ترتیب فیزیکی دادهها در جدول را تعیین میکند (هر جدول حداکثر یک نوع کلاسترد میتواند داشته باشد).
Non-Clustered: ساختاری جداگانه برای اشاره به دادهها ایجاد میکند (میتواند چندین ایندکس غیرکلاسترد داشته باشد).
نحوه ایجاد:
با دستور CREATE INDEX، یک Index در Sql Server ایجاد می شود.
CREATE INDEX idx_column ON table_name(column_name);
مثال:
اگر جدولی با ستون Name داشته باشیم و کوئریهای زیادی روی آن جستجو کنند، ایجاد ایندکس روی Name باعث سریعتر شدن جستجو میشود.
نکته:
ایندکسها باید با دقت انتخاب شوند، زیرا تعداد بیش از حد آنها میتوانند عملکرد را کاهش دهند.


راهنمای جامع Extended Events در SQL Server برای پایش و بهینهسازی عملکرد

مقاله جامع و تکمیلی Query Store در SQL Server

همه چیز درباره شغل مدیر پایگاه داده (DBA) و مسیر شغلی آن

بررسی جامع Stored Procedure در SQL Server

راهنمای جامع Performance Tuning در SQL Server برای DBA ها

راهنمای جامع SARGability در SQL Server با مثالهای واقعی از AdventureWorksDW

Data Compression در SQL Server

مفهوم Fragmentation (تکهتکه شدن) در SQL Server

