0 0 تومان
آموزش طراحی سایت (HTML CSS Javascript) | آتریا
آموزش سی شارپ

Index View چیست؟

  • Index View چیست؟

    آموزش پیشرفته SQL Server (جلسه چهارم) – Index View چیست؟

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


    Index View چیست؟

    به طور کلی Index View یکی از انواع View های قابل تعریف در SQL SERVER می باشد و دارای ویژگیهای زیر است:

    1. ذخیره نتیجه آن بصورت فیزیکی می باشد.
    2. نیاز به انجام عملیات Expand ندارد به این معنی که همه اطلاعات لازم در داخل View موجود است و نیازی به بررسی و محاسبه جداول شرکت کننده در آن نمی باشد.
    3. امکان اعمال Clustered و NonClustered Index روی آن.

    شرایط استفاده از Index View

    1. عدم استفاده از select *.
    2. اعمال نام گذاری دو قسمتی به ازای جدول – (dbo.Employees).
    3. عدم استفاده از Outer Join در کوئری
    4. عدم استفاده از Set Operation و Cross Join
    5. کوئری دارای یک یا ترکیبی از چند فیلد به شکل Unique باشد
    6. استفاده از Schema Binding هنگام ایجاد View
    7. ایجاد اولین ایندکس بصورت Unique Clustered

    پیاده سازی Index View

    برای مشاهده تاثیر استفاده ار Index View ابتدا کوئری زیر را اجرا کرده و هزینه آن را مطابق با شکل بدست می آوریم:

    Index View چیست؟

    SELECT CUST.CustomerID ,
           SOH.SalesOrderID ,
           SOD.ProductID ,
           SUM(SOD.OrderQty)ASTotalOrderQty ,
           SUM(LineTotal)ASTotalValue
    FROM   Sales.SalesOrderHeader SOH
           INNERJOINSales.SalesOrderDetail SOD
                  ONSOH.SalesOrderID = SOD.SalesOrderID
           INNERJOINProduction.Product PRODONPROD.ProductID = SOD.ProductID
           INNERJOINSales.Customer CUSTONSOH.CustomerID = CUST.CustomerID
           INNERJOINPerson.Person PERONPER.BusinessEntityID = CUST.PersonID
    GROUPBYCUST.CustomerID ,
           SOH.SalesOrderID ,
           SOD.ProductID;

    Index View چیست؟

    حال اگر یک Index View تعریف نماییم و query بالا را دوباره اجرا نماییم مطابق شکل تاثیر استفاده از آن را در کارایی خواهیم دید:

    Index View چیست؟

    CREATEVIEWSales.vSalesSummaryCustomerProduct
    WITHSCHEMABINDING
    AS
       SELECT CUST.CustomerID ,
               SOH.SalesOrderID ,
               SOD.ProductID ,
               SUM(SOD.OrderQty)ASTotalOrderQty ,
               SUM(LineTotal)ASTotalValue ,
                COUNT_BIG(*)ASCountLines
       FROM   Sales.SalesOrderHeader SOH
               INNERJOINSales.SalesOrderDetail SOD
                      ONSOH.SalesOrderID = SOD.SalesOrderID
               INNERJOIN Production.Product PROD
                      ONPROD.ProductID = SOD.ProductID
               INNERJOINSales.Customer CUST
                      ONSOH.CustomerID = CUST.CustomerID
               INNERJOINPerson.Person PER
                      ONPER.BusinessEntityID = CUST.PersonID
       GROUPBYCUST.CustomerID ,
                SOH.SalesOrderID ,
               SOD.ProductID; 
    GO
    CREATEUNIQUECLUSTEREDINDEXCX_vSalesSummaryCustomerProduct
     ONSales.vSalesSummaryCustomerProduct(CustomerID, SalesOrderID, ProductID);
    GO

    Index View چیست؟

    SELECT CustomerID ,
           SalesOrderID ,
           TotalOrderQty ,
           TotalValue
    FROM   Sales.vSalesSummaryCustomerProduct;

    Index View چیست؟

    در گام بعدی یک NonClustered Index روی Index View تعریف می نماییم و مجددا مطابق شکل تاثیر تغییر صورت گرفته را در کارایی مشاهده مینماییم:

    Index View چیست؟

    CREATENONCLUSTEREDINDEXIX_vCustomerOrders_Name
     ONSales.vCustomerOrders(Name);

    Index View چیست؟


    در ادامه بحث Index View چیست؟ خواهید دید...!

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

    2-بررسی تاثیر استفاده از Index View در اجرای query با استفاده از مثال کاربردی.

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


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

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

    نقطه شروع بحث بالا (Index View چیست؟) در ویدئو: 19:20


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