ایندکس (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 باعث سریع‌تر شدن جستجو می‌شود.

نکته:
ایندکس‌ها باید با دقت انتخاب شوند، زیرا تعداد بیش از حد آنها می‌توانند عملکرد را کاهش دهند.

Indexing Strategies, Clustered vs Non-Clustered, Columnstore Index, SQL Server 2025 Optimization, ایندکس, ایندکس گذاری, ایندکس‌گذاری

راهنمای جامع برای بهینه‌سازی کوئری‌ها Indexing Strategies در SQL Server

ایندکس‌ها (Index) قلب تپنده‌ هر دیتابیس رابطه‌ای هستند. در SQL Server، انتخاب استراتژی صحیح ایندکس‌گذاری می‌تواند عملکرد کوئری‌ها را چندین برابر بهبود دهد، هزینه‌های پردازشی را کاهش دهد ... ادامه مطلب