آشنایی با ایندکس‌های SQL

understanding sql indexes
11 آذر 1403

چرا ایندکس‌ها در SQL مهم هستند؟

احتمالا برای شما هم پیش آمده که به مرور زمان و با افزایش داده‌های موجود در دیتابیس، سرعت اجرای کوئری‌ها کاهش یابد. یکی از ابزارهای مفید برای بهبود این عملکرد، استفاده از ایندکس‌هاست. ایندکس‌ها به عنوان یک راهکار جهت دسترسی سریع‌تر به رکوردهای مورد نظر در جداول دیتابیس مورد استفاده قرار می‌گیرند و می‌توانند زمان اجرای کوئری‌ها را به طور چشمگیری کاهش دهند.

نحوه کار ایندکس‌ها

ایندکس‌ها به نوعی مشابه کتابخانه‌ها عمل می‌کنند، با این تفاوت که به جای یافتن سریع‌تر کتاب، به یافتن سریع‌تر رکوردهای داده‌ها کمک می‌کنند. این ایندکس‌ها معمولاً بر اساس ستون (یا ستون‌هایی) از جدول شما ساخته می‌شوند تا جستجوی رکوردها به صورت بهینه‌تری انجام شود.

ایجاد ایندکس در SQL

برای ایجاد ایندکس، معمولا از کامند CREATE INDEX استفاده می‌شود. برای مثال، اگر بخواهیم بر روی ستون مشتری_کد از جدول مشتریان یک ایندکس ایجاد کنیم، کافی است از دستوری مشابه زیر استفاده کنیم:


CREATE INDEX idx_customer_code ON مشتریان (مشتری_کد);

مزایا و معایب استفاده از ایندکس‌ها

هرچند که ایندکس‌ها به افزایش سرعت جستجو کمک می‌کنند، اما باید به این نکته نیز توجه داشت که استفاده بی‌رویه از ایندکس‌ها می‌تواند فضای ذخیره‌سازی بیشتری اشغال کند و زمان آپدیت و درج داده‌ها را طولانی‌تر نماید. بنابراین انتخاب صحیح ستون‌هایی که باید ایندکس شوند از اهمیت بالایی برخوردار است.

خط به خط کد ایجاد ایندکس

CREATE INDEX: این فرمان برای شروع ایجاد یک ایندکس جدید استفاده می‌شود.
idx_customer_code: نام ایندکس که شما انتخاب می‌کنید؛ این نام منحصر به فرد برای این ایندکس در دیتابیس است.
ON مشتریان: نام جدولی که ایندکس بر روی آن ایجاد می‌شود.
(مشتری_کد): ستون (یا ستون‌هایی) که ایندکس روی آن (یا آنها) اعمال می‌شود.

سوالات متداول

؟

چرا باید از ایندکس در SQL استفاده کنم؟

؟

آیا ایندکس کردن همیشه منجر به بهبود عملکرد می‌شود؟

؟

چگونه می‌توان یک ایندکس در SQL حذف کرد؟