یک شاخص یک ساختار روی دیسک است که با یک جدول یا نمای همراه است که سرعت بازیابی ردیف ها را از جدول یا نمای سرعت می بخشد. یک شاخص حاوی کلیدهای ساخته شده از یک یا چند ستون در جدول یا نمای است. این کلیدها در یک ساختار (درخت B) ذخیره می شوند که SQL Server را قادر می سازد ردیف یا ردیف های مرتبط با مقادیر کلیدی را به سرعت و کارآمد پیدا کند.
مستندات SQL Server از اصطلاح B-Tree به طور کلی با اشاره به فهرست ها استفاده می کند. در فهرست های RowStore ، SQL Server یک درخت B+ را پیاده سازی می کند. این در مورد شاخص های ستون یا فروشگاه های داده در حافظه اعمال نمی شود. برای جزئیات بیشتر معماری و طراحی شاخص SQL Server را مرور کنید.
یک جدول یا نمای می تواند شامل انواع شاخص های زیر باشد:
- شاخص های خوشه ای ردیف های داده را در جدول یا مشاهده بر اساس مقادیر کلیدی آنها مرتب و ذخیره می کنند. این ستونهای موجود در تعریف فهرست هستند. در هر جدول فقط یک شاخص خوشه ای وجود دارد ، زیرا خود ردیف داده ها فقط در یک سفارش قابل ذخیره هستند.
- تنها زمانی که ردیف های داده در یک جدول به ترتیب مرتب شده ذخیره می شوند ، زمانی است که جدول حاوی یک شاخص خوشه ای است. هنگامی که یک جدول دارای یک شاخص خوشه ای است ، جدول را به عنوان یک جدول خوشه ای می نامند. اگر یک جدول دارای شاخص خوشه ای باشد ، ردیف های داده آن در یک ساختار بدون هماهنگ به نام پشته ذخیره می شوند.
شاخص های غیر خوشه ای ساختاری جدا از ردیف داده ها دارند. یک شاخص غیر خوشه ای حاوی مقادیر کلید شاخص غیر خوشه ای است و هر ورودی مقدار کلیدی دارای یک اشاره گر به ردیف داده است که حاوی مقدار کلید است.
اشاره گر از یک ردیف شاخص در یک شاخص غیر خوشه ای به یک ردیف داده ، یک یاب ردیف نامیده می شود. ساختار یاب ردیف بستگی به این دارد که آیا صفحات داده در یک پشته یا یک جدول خوشه ای ذخیره می شوند. برای یک پشته ، یک یاب ردیف اشاره گر به ردیف است. برای یک جدول خوشه ای ، یاب ردیف کلید شاخص خوشه ای است.
می توانید ستون های غیرکنی را به سطح برگ شاخص غیر خوشه ای اضافه کنید تا محدودیت های کلیدی شاخص موجود را کنار گذاشته و نمایش داده شد. برای اطلاعات بیشتر ، به ایجاد فهرست با ستون های موجود مراجعه کنید. برای جزئیات بیشتر در مورد محدودیت های کلیدی شاخص ، حداکثر مشخصات ظرفیت SQL Server را مشاهده کنید.
هر دو شاخص خوشه ای و غیر خوشه ای می توانند بی نظیر باشند. این بدان معنی است که هیچ دو ردیف نمی توانند یک مقدار یکسان برای کلید فهرست داشته باشند. در غیر این صورت ، این شاخص منحصر به فرد نیست و چندین ردیف می توانند همان مقدار کلیدی را به اشتراک بگذارند. برای اطلاعات بیشتر ، به ایجاد فهرست های منحصر به فرد مراجعه کنید.
هر زمان که داده های جدول اصلاح شود ، شاخص ها به طور خودکار برای یک جدول یا مشاهده نگهداری می شوند.
برای انواع اضافی شاخص های هدف ویژه به فهرست ها مراجعه کنید.
فهرست ها و محدودیت ها
شاخص ها به طور خودکار ایجاد می شوند که محدودیت های اصلی و منحصر به فرد در ستون های جدول تعریف شوند. به عنوان مثال ، هنگامی که یک جدول با محدودیت منحصر به فرد ایجاد می کنید ، موتور پایگاه داده به طور خودکار یک شاخص غیر خوشه ای ایجاد می کند. اگر یک کلید اصلی را پیکربندی کنید ، موتور پایگاه داده به طور خودکار یک شاخص خوشه ای ایجاد می کند ، مگر اینکه یک شاخص خوشه ای از قبل وجود داشته باشد. هنگامی که شما سعی می کنید یک محدودیت اصلی اصلی را در یک جدول موجود اعمال کنید و یک شاخص خوشه ای که قبلاً در آن جدول وجود دارد ، SQL Server با استفاده از یک شاخص غیر خوشه ای ، کلید اصلی را اجرا می کند.
نحوه استفاده از شاخص ها توسط بهینه ساز پرس و جو
شاخص های به خوبی طراحی شده می توانند عملیات I/O دیسک را کاهش داده و منابع سیستم کمتری مصرف کنند ، بنابراین عملکرد پرس و جو را بهبود می بخشد. ایندکس ها می توانند برای انواع پرس و جو که حاوی اظهارات انتخاب ، به روزرسانی ، حذف یا ادغام هستند ، مفید باشد. عنوان انتخابی را در نظر بگیرید ، استخدام شده از HumanResource. employee که در آن کارمند = 250 در پایگاه داده AdventureWorks2019. هنگامی که این پرس و جو اجرا شد ، بهینه ساز پرس و جو هر روش موجود را برای بازیابی داده ها ارزیابی می کند و کارآمدترین روش را انتخاب می کند. این روش ممکن است یک اسکن جدول باشد ، یا در صورت وجود ممکن است یک یا چند شاخص را اسکن کند.
هنگام انجام اسکن جدول ، بهینه ساز پرس و جو تمام ردیف های جدول را می خواند و ردیف هایی را که مطابق با معیارهای پرس و جو است ، استخراج می کند. اسکن جدول بسیاری از عملیات I/O دیسک را ایجاد می کند و می تواند منابع فشرده باشد. با این حال ، اسکن جدول می تواند کارآمدترین روش باشد اگر به عنوان مثال ، مجموعه نتیجه پرس و جو درصد بالایی از ردیف ها از جدول باشد.
هنگامی که بهینه ساز پرس و جو از یک فهرست استفاده می کند ، ستون های کلیدی شاخص را جستجو می کند ، مکان ذخیره سازی ردیف های مورد نیاز پرس و جو را پیدا می کند و ردیف های تطبیق را از آن مکان استخراج می کند. به طور کلی ، جستجوی شاخص بسیار سریعتر از جستجوی جدول است زیرا برخلاف یک جدول ، یک شاخص اغلب حاوی ستون های بسیار کمی در هر ردیف و ردیف ها به ترتیب مرتب شده است.
بهینه ساز پرس و جو معمولاً هنگام اجرای نمایش داده ها کارآمدترین روش را انتخاب می کند. با این حال ، اگر هیچ شاخصی در دسترس نباشد ، بهینه ساز پرس و جو باید از اسکن جدول استفاده کند. وظیفه شما طراحی و ایجاد شاخص هایی است که به بهترین وجه مناسب محیط شما هستند تا بهینه ساز پرس و جو انتخابی از شاخص های کارآمد را انتخاب کند. SQL Server مشاور تنظیم موتور پایگاه داده را برای کمک به تجزیه و تحلیل محیط پایگاه داده شما و در انتخاب فهرست های مناسب ارائه می دهد.
برای اطلاعات بیشتر در مورد دستورالعمل های طراحی شاخص و داخلی ، به راهنمای طراحی فهرست SQL Server مراجعه کنید.
التداول المالي...
ما را در سایت التداول المالي دنبال می کنید
برچسب :
نویسنده : سیروس ابراهیمزاده
بازدید : <-PostHit->
تاريخ : چهارشنبه
24 اسفند
1401 ساعت: 23:16