Devo usare le viste indicizzate per raggiungere le prestazioni. Come posso vedere da questa tabella di confronto, l'edizione standard non supporta le visualizzazioni indicizzate. Ma BOL dice:
Le viste indicizzate possono essere create in qualsiasi edizione di SQL Server. In SQL Server Enterprise, Query Optimizer considera automaticamente la vista indicizzata. Per utilizzare una vista indicizzata in tutte le altre edizioni, è necessario utilizzare il suggerimento per la tabella NOEXPAND.
Quindi funzionerà (sto parlando di performance)
select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals)
su SQL Server Standard Edition e funziona
select * from dbo.OrderTotals
su quello Enterprise?
Ecco il codice per la visualizzazione:
CREATE VIEW dbo.OrderTotals
WITH SCHEMABINDING
AS
select
OrderId = r.OrderId
, TotalQty = SUM(r.Quantity)
, TotalGrossConsid = SUM(r.Price * r.Quantity)
, XCount = COUNT_BIG(*)
from dbo.Order r
group by r.OrderId
CREATE UNIQUE CLUSTERED INDEX IXCU_OrderTotals ON OrderTotals (OrderId)