تفاوت بین Clustered Index و Non-Clustered Index
تفاوت بین
Clustered Index و Non-Clustered Index
چیست و هرکدام در چه مواردی استفاده میشود؟
١ پاسخ
با سلام
Clustered Index
تعریف: در یک ایندکس خوشهای، دادهها به صورت فیزیکی در دیسک بر اساس ترتیب ایندکس ذخیره میشوند. به عبارت دیگر، ایندکس و دادهها در یک ساختار واحد قرار دارند.
🌼ویژگیها:
فقط یک ایندکس خوشهای میتواند برای هر جدول وجود داشته باشد.
ایندکس خوشهای به طور معمول بر روی ستونهایی مانند کلید اصلی (Primary Key) ایجاد میشود.دسترسی به دادهها در ایندکس خوشهای سریعتر است زیرا دادهها به صورت مرتب ذخیره شدهاند.
✅موارد استفاده:
-زمانی که نیاز به جستجوی سریع بر اساس محدودهای از مقادیر (Range Queries) است.
-در جداولی که اغلب به صورت ترتیبی خوانده میشوند یا مرتّبسازی مهم است.
Non-Clustered Index
تعریف: در یک ایندکس غیر خوشهای، دادهها به صورت جداگانه از ایندکس ذخیره میشوند. ایندکس غیر خوشهای شامل یک ساختار جداگانه است که به مکان دادههای واقعی اشاره میکند.
🌼ویژگیها:
میتوان چندین ایندکس غیر خوشهای برای یک جدول ایجاد کرد. ایندکسهای غیر خوشهای شامل یک اشارهگر به مکان دادهها در جدول هستند.
این نوع ایندکسها میتوانند بر روی هر ستونی از جدول ایجاد شوند.
✅موارد استفاده:
-زمانی که به جستجو بر اساس ستونهایی که کلید اصلی نیستند نیاز است.
-در جداول بزرگ که نیاز به ایندکسگذاری بر روی چندین ستون وجود دارد.
-برای بهبود عملکرد جستجوهایی که به صورت تصادفی (Random Access) انجام میشوند.
جمعبندی
Clustered Index
دادهها به صورت فیزیکی مرتّب شدهاند و فقط یک ایندکس خوشهای برای هر جدول وجود دارد.
🛑مناسب برای جستجوهای محدودهای و دادههای ترتیبی.
Non-Clustered Index
دادهها به صورت جداگانه ذخیره میشوند و میتوان چندین ایندکس غیر خوشهای برای یک جدول داشت.
🛑مناسب برای جستجوهای تصادفی و ایندکسگذاری بر روی ستونهای غیر کلیدی.
توضیح مناسبی از سوی هوش مصنوعی کپی کردی!!