سبد (0)

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

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

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


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

به طور کلی به معنای فیلتر کردن ایندکس و شرکت دادن رکوردهای حائز شرایط در ایندکس می باشد.


خصوصیات Filtered Index:

  1. افزایش سرعت ایجاد ایندکس
  2. افزایش سرعت query ها
  3. کاهش حجم ایندکس
  4. هزینه کمتر برای بروزرسانی ایندکس

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

نحوه تعریف Filtered Index بصورت زیر می باشد::

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

CREATE NONCLUSTERED INDEX <index name>
ON <table> (<columns>)
WHERE <criteria>;
GO

مثال زیر تعریف یک Filtered Index را نشان می دهد:

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

--add nonclustered filtered index to UnitPrice column
CREATE NONCLUSTERED INDEX fIX_SalesOrderDetail_UnitPrice
ON AdventureWorks2012.Sales.SalesOrderDetail(UnitPrice)
WHERE UnitPrice > 1000
GO

حال اگر این ایندکس به صورت بالا روی یک جدول و بدون Filter روی جدول دیگر تعریف شده باشد در نظر بگیرید که دو query زیر را روی این دو جدول اجرا نماییم:

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

--find SalesOrderDetailIDs with UnitPrice > $2000 – now using nonclustered filtered index
SELECT SalesOrderDetailID, UnitPrice
FROM AdventureWorks2012.Sales.SalesOrderDetail
WHERE UnitPrice > 2000
GO
 
--find SalesOrderDetailIDs with UnitPrice > $2000 – using nonclustered  index
SELECT SalesOrderDetailID, UnitPrice
FROM AdventureWorks2012b.Sales.SalesOrderDetail
WHERE UnitPrice > 2000
GO

شکل زیر نمایی از مقایسه Execution Plan مربوط به دو پرس و جوی بالا می باشد و همانطور که دیده می شود query اول کارایی بالاتری داشته است.

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


تاثیر استفاده از Filtered Index در حجم ایندکس :

با اجرای query زیر همانطور که در شکل نیز دیده می شود حجم ایندکس کاهش می یابد.

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

--get total index size for AdventureWorks2012 database
USE AdventureWorks2012
GO
EXECUTE sp_spaceused 'Sales.SalesOrderDetail'
 
--get total index size for AdventureWorks2012b database
USE AdventureWorks2012b
GO
EXECUTE sp_spaceused 'Sales.SalesOrderDetail'

در شکل زیر میزان فضا و صفحات بکار رفته در دو جدول با ایندکسی از نوع NonClustered و به صورت Filter و بدون Filter نشان داده شده است:

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


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

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

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


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

  • شماره جلسه: 4
  • نام فایل ویدئو: 03
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (بررسی مفهوم Filtered Index ) در ویدئو: 16:00


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

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه