Je dois utiliser des vues indexées pour atteindre les performances. Comme je peux le voir sur cette table de comparaison, l'édition standard ne prend pas en charge les vues indexées. Mais BOL dit:
Les vues indexées peuvent être créées dans n'importe quelle édition de SQL Server. Dans SQL Server Enterprise, l'optimiseur de requêtes prend automatiquement en compte la vue indexée. Pour utiliser une vue indexée dans toutes les autres éditions, l'indicateur de table NOEXPAND doit être utilisé.
Alors ça va marcher (je parle de performance)
select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals)
sur l'édition standard de SQL Server ainsi que cela fonctionne
select * from dbo.OrderTotals
sur l'Enterprise?
Voici le code pour la vue:
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)