Index View چیست؟
Index View چیست؟
آموزش پیشرفته SQL Server (جلسه چهارم) – Index View چیست؟
Index View چیست؟ ، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی Index View چیست؟ ، قسمت های قبلی را مطالعه فرمایید.
Index View چیست؟
به طور کلی Index View یکی از انواع View های قابل تعریف در SQL SERVER می باشد و دارای ویژگیهای زیر است:
- ذخیره نتیجه آن بصورت فیزیکی می باشد.
- نیاز به انجام عملیات Expand ندارد به این معنی که همه اطلاعات لازم در داخل View موجود است و نیازی به بررسی و محاسبه جداول شرکت کننده در آن نمی باشد.
- امکان اعمال Clustered و NonClustered Index روی آن.
شرایط استفاده از Index View
- عدم استفاده از select *.
- اعمال نام گذاری دو قسمتی به ازای جدول – (dbo.Employees).
- عدم استفاده از Outer Join در کوئری
- عدم استفاده از Set Operation و Cross Join
- کوئری دارای یک یا ترکیبی از چند فیلد به شکل Unique باشد
- استفاده از Schema Binding هنگام ایجاد View
- ایجاد اولین ایندکس بصورت Unique Clustered
پیاده سازی Index View
برای مشاهده تاثیر استفاده ار Index View ابتدا کوئری زیر را اجرا کرده و هزینه آن را مطابق با شکل بدست می آوریم:
Index View چیست؟
SELECT
AS
TotalOrderQty ,
AS
TotalValue
FROM
JOIN
Sales.SalesOrderDetail SOD
SOH.SalesOrderID = SOD.SalesOrderID
JOIN
Production.Product PROD
ON
PROD.ProductID = SOD.ProductID
JOIN
Sales.Customer CUST
ON
SOH.CustomerID = CUST.CustomerID
JOIN
Person.Person PER
ON
PER.BusinessEntityID = CUST.PersonID
GROUP
BY
CUST.CustomerID ,
حال اگر یک Index View تعریف نماییم و query بالا را دوباره اجرا نماییم مطابق شکل تاثیر استفاده از آن را در کارایی خواهیم دید:
Index View چیست؟
CREATE
VIEW
Sales.vSalesSummaryCustomerProduct
WITH
SCHEMABINDING
AS
AS
TotalOrderQty ,
AS
TotalValue ,
AS
CountLines
JOIN
Sales.SalesOrderDetail SOD
SOH.SalesOrderID = SOD.SalesOrderID
JOIN Production.Product PROD
PROD.ProductID = SOD.ProductID
JOIN
Sales.Customer CUST
SOH.CustomerID = CUST.CustomerID
JOIN
Person.Person PER
PER.BusinessEntityID = CUST.PersonID
BY
CUST.CustomerID ,
GO
CREATE
UNIQUE
CLUSTERED
INDEX
CX_vSalesSummaryCustomerProduct
Sales.vSalesSummaryCustomerProduct(CustomerID, SalesOrderID, ProductID);
GO
Index View چیست؟
SELECT
FROM
در گام بعدی یک NonClustered Index روی Index View تعریف می نماییم و مجددا مطابق شکل تاثیر تغییر صورت گرفته را در کارایی مشاهده مینماییم:
Index View چیست؟
CREATE
NONCLUSTERED
INDEX
IX_vCustomerOrders_Name
Sales.vCustomerOrders(Name);
در ادامه بحث Index View چیست؟ خواهید دید...!
1-آشنایی کامل با Index View.
2-بررسی تاثیر استفاده از Index View در اجرای query با استفاده از مثال کاربردی.
3- آموزش تحلیل Execution Plan در رابطه با Index View.
دسترسی به موارد آموزشی بالا در بسته خریداری شده
- شماره جلسه: 4
- نام فایل ویدئو: 04
- فرمت فایل: mp4.
نقطه شروع بحث بالا (Index View چیست؟) در ویدئو: 19:20
برای خرید و دانلود کاملآموزش پیشرفته SQL Server کلیک کنید.