بررسی مفهوم Filtered Index
آموزش پیشرفته SQL Server (جلسه چهارم) - بررسی مفهوم Filtered Index
بررسی مفهوم Filtered Index ، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی بررسی مفهوم Filtered Index ، قسمت های قبلی را مطالعه فرمایید.
Filtered Index به چه معناست؟
به طور کلی به معنای فیلتر کردن ایندکس و شرکت دادن رکوردهای حائز شرایط در ایندکس می باشد.
خصوصیات Filtered Index:
- افزایش سرعت ایجاد ایندکس
- افزایش سرعت query ها
- کاهش حجم ایندکس
- هزینه کمتر برای بروزرسانی ایندکس
تاثیر استفاده از 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 در حجم ایندکس :
با اجرای 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 خواهید دید ...!
1-آشنایی کامل با Filtered Index.
2- آموزش تحلیل Execution Plan در رابطه با Filtered Index.
دسترسی به موارد آموزشی بالا در بسته خریداری شده
- شماره جلسه: 4
- نام فایل ویدئو: 03
- فرمت فایل: mp4.
نقطه شروع بحث بالا (بررسی مفهوم Filtered Index ) در ویدئو: 16:00
برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.
- نوشته شده توسط محمدی
- بازدید: 7424