SQL CREATE INDEX Statement
در SQL از CREATE INDEX برای افزایش سرعت جستجو و کوئریها استفاده میکنیم.
ایندکس باعث میشه دیتابیس بدون نیاز به بررسی تمام رکوردها، سریعتر دادههای موردنظر رو پیدا کنه.
🔹 ساختار کلی
📌 با این دستور، ایندکسی روی ستون یا ستونهای مشخصشده ساخته میشه.
🔹 مثال ساده
📌 توضیح:
ایندکس idx_lastname
روی ستون LastName
ساخته میشه تا جستجوهای مربوط به نام خانوادگی سریعتر انجام بشن.
🔹 ایندکس چندستونه
📌 توضیح:
در این حالت، ترکیب دو ستون LastName
و Department
به عنوان کلید ایندکس استفاده میشه.
🔹 ایندکس یکتا (UNIQUE INDEX)
اگر بخوایم مقادیر ستون تکراری نباشن، از UNIQUE
استفاده میکنیم:
📌 توضیح:
این ایندکس تضمین میکنه که مقدار Email
در جدول Users
تکراری نباشه.
🔹 حذف ایندکس
📌 در SQL Server و MySQL از این دستور برای حذف ایندکس استفاده میشه.
🔹 نکات مهم
-
ایندکس باعث افزایش سرعت SELECT، WHERE، و ORDER BY میشه.
-
اما درج (
INSERT
)، حذف (DELETE
) و ویرایش (UPDATE
) ممکنه کمی کندتر بشن، چون ایندکسها هم باید بهروزرسانی بشن. -
ایندکس مثل فهرست در کتاب عمل میکنه: پیدا کردن سریعتره ولی نگهداریش هزینه داره.
-
در پایگاهدادههای بزرگ، انتخاب درست ستونهایی که ایندکس میشن خیلی مهمه.
🔹 ایندکس روی چند ستون پرکاربرد
اگر مرتب از چند ستون در شرط جستجو استفاده میکنی، ایندکس ترکیبی بهترین گزینهست:
📌 با این ایندکس، کوئریهایی مثل زیر سریعتر اجرا میشن: