Ich muss indizierte Ansichten verwenden, um die Leistung zu erreichen. Wie ich aus dieser Vergleichstabelle ersehen kann, unterstützt die Standard Edition keine indizierten Ansichten. Aber BOL sagt:
Indizierte Ansichten können in jeder Edition von SQL Server erstellt werden. In SQL Server Enterprise berücksichtigt das Abfrageoptimierungsprogramm automatisch die indizierte Ansicht. Um eine indizierte Ansicht in allen anderen Editionen zu verwenden, muss der NOEXPAND-Tabellenhinweis verwendet werden.
So wird es funktionieren (ich spreche von Leistung)
select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals)
auf SQL Server Standard Edition sowie es funktioniert
select * from dbo.OrderTotals
auf der Enterprise?
Hier ist Code zur Ansicht:
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)