
ایندکس (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 باعث سریعتر شدن جستجو میشود.
نکته:
ایندکسها باید با دقت انتخاب شوند، زیرا تعداد بیش از حد آنها میتوانند عملکرد را کاهش دهند.


Capacity Planning در SQL Server، چه زمانی زیرساخت دیگر پاسخگوی رشد دیتابیس نیست؟

Serializable Isolation Level در SQL Server چیست؟ قویترین سطح Isolation را چه زمانی استفاده کنیم؟

چرا بیشتر پروژهها زمانی سراغ DBA میروند که دیگر خیلی دیر شده است؟

Deadlock را چگونه تحلیل و برطرف کنیم؟ (راهنمای عملی در SQL Server و سیستمهای دیتابیسی)

مجازیسازی SQL Server با VMware vSphere، راهنمای جامع طراحی، استقرار و بهینهسازی عملکرد در محیطهای سازمانی

چرا TempDB در SQL Server پنهانترین گلوگاه Performance سازمان شماست؟

Cardinality Estimation در SQL Server چیست و چرا باعث کندی کوئری میشود؟

راهنمای تحلیلی و سازمانی عیبیابی افت ناگهانی SQL Server Performance

