بررسی مفهوم Cover Index

چاپ

آموزش پیشرفته SQL Server (جلسه چهارم) - بررسی مفهوم Cover Index

پیشنهاد می شود قبل از مطالعه ی بررسی مفهوم Cover Index ، قسمت های قبلی را مطالعه فرمایید.


Cover Index به چه معناست؟

به طور کلی برای گنجاندن فیلدهای داخل کلید در داخل ایندکس انجام می شود و دارای خصوصیات زیر است:

  1. باعث حذف Lookup و در نتیجه بالا رفتن کارایی می شود.
  2. حجم ایندکس را افزایش می دهد
  3. کارایی ایندکس ها را بالا می برد.

تاثیر استفاده از Cover Index:

اضافه کردن فیلدهای غیر کلید به ایندکس

بررسی مفهوم Cover Index

CREATE NONCLUSTERED INDEX [ix_Customer_Email] ON [dbo].[Customers] 
(
            [Last_Name] ASC,
            [First_Name] ASC
)
INCLUDE ( [Email_Address]) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF,ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

 توجه:  Cover Index اگر به صورت درست استفاده نشود باعث سربار بالایی روی اجرای Query های جدول و در نتیجه کاهش کارایی می شود.

در ادامه با شکلهای آمده به این موضوع بهتر می پردازیم.

فرض کنید جدولی را به صورت بالا تعریف می کنیم و query زیر را روی آن اجرا می نماییم:

بررسی مفهوم Cover Index

همانطور که در شکل زیر مشخص است مقدار هزینه IO پایین بوده و از NonClustered Index استفاده شده است

Cover Index

حال اجازه بدهید تا query زیر را اجرا نماییم:

بررسی مفهوم Cover Index

با مشاهده Execution Plan مربوط به پرس و جوی بالا طبق شکل زیر می بینیم که باز هم هزینه IO پایین بوده و باز هم همچنان از NonClustered Index استفاده نموده است و این به خاطر اضافه کردن فیلد Email_Address به ایدکس می باشد.

بررسی مفهوم Cover Index


در ادامه بحث بررسی مفهوم Cover Index خواهید دید ...!

1-آشنایی کامل با Cover Index.

2- آموزش تحلیل Execution Plan در رابطه با Cover Index.


دسترسی به موارد آموزشی بالا در بسته خریداری شده

نقطه شروع بحث بالا (بررسی مفهوم Cover Index ) در ویدئو: 04:45


برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.