|
Execute the following
script in Query Editor to demonstrate how to create, index and apply an indexed view in Microsoft SQL Server 2005:
USE AdventureWorks;
GO
-- drop view vidxDiscountSummary
CREATE VIEW vidxDiscountSummary
WITH SCHEMABINDING
AS
SELECT
ProductName=p.Name,
OrderTotal = SUM(UnitPrice*OrderQty),
DiscountOrderTotal=SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)),
OrderItems = COUNT_BIG(*),
ProductID = sod.ProductID
FROM Sales.SalesOrderDetail sod
JOIN Production.Product p
on p.ProductID = sod.ProductID
GROUP BY p.Name, sod.ProductID
GO
CREATE UNIQUE CLUSTERED INDEX vidxDiscountSummaryInd1 ON vidxDiscountSummary (ProductID)
CREATE UNIQUE INDEX vidxDiscountSummaryInd2 ON vidxDiscountSummary (ProductName)
CREATE INDEX vidxDiscountSummaryInd3 ON vidxDiscountSummary (OrderItems)
GO
SELECT
ProductName,
OrderItems = left(convert(varchar,convert(money,OrderItems),1),
len(convert(varchar,convert(money,OrderItems),1))-3),
OrderTotal = '$'+convert(varchar,OrderTotal,1),
DiscountOrderTotal = '$'+convert(varchar,convert(money,DiscountOrderTotal),1)
FROM vidxDiscountSummary ds
ORDER BY ds.OrderItems DESC
GO
|