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


نشانههای تحلیل اشتباه Performance در SQL Server و دیتابیسها

Low Selectivity در SQL Server چرا ایندکس شما وجود دارد اما تصمیمساز نیست؟

Over-Indexing چگونه Performance دیتابیس را بیصدا نابود میکند؟

DBA یا ابزار مسئله واقعی مدیریت SQL Server در سازمانها چیست؟

چکلیست جامع بهینهسازی عملکرد، افزایش سرعت و پایداری SQL Server برای سازمانها

آنچه لاندا در ۲۰۲۵ از SQL Server آموخت

SQL Server بدون DBA ریسکی که آرام شروع میشود و ناگهانی به بحران سازمانی تبدیل میشود

تجربه لاندا از نجات دیتابیسهای بزرگ وقتی Performance در آستانه شکست سازمانی قرار میگیرد

