چرا index همیشه باعث سریعتر شدن کوئری نمیشه؟
یکی از رایجترین باورهای اشتباه اینه:
«هرچی Index بیشتر، دیتابیس سریعتر!»
نه دقیقاً.
هر Index یه هزینه داره.
فرض کن جدول orders روی این ستونها Index داره:
user_id
status
created_at
payment_status
city
phone
حالا هر بار که یک رکورد جدید Insert یا Update میکنی، دیتابیس باید همه این Indexها رو هم بهروزرسانی کنه.
یعنی ممکنه سرعت خواندن (Read) بهتر بشه، ولی سرعت نوشتن (Write) کاهش پیدا کنه.
قبل از ساختن هر Index از خودت بپرس:
این ستون واقعاً زیاد جستجو میشه؟
توی WHERE یا JOIN استفاده میشه؟
یا فقط یک بار در ماه روی اون فیلتر میزنیم؟
دستور Index ابزار قدرتمندیه، ولی استفادهی بیهدف ازش مثل اینه که برای هر کشوی خونه یک کلید جدا بسازی؛ پیدا کردنش سختتر از قبل میشه.
@CodeVerse_dev
Post #459
379
- 👍 9
- ❤ 3