Я должен использовать индексированные представления для достижения производительности. Как видно из этой таблицы сравнения, стандартное издание не поддерживает индексированные представления. Но BOL говорит:
Индексированные представления могут быть созданы в любой редакции SQL Server. В SQL Server Enterprise оптимизатор запросов автоматически учитывает индексированное представление. Чтобы использовать индексированное представление во всех других выпусках, необходимо использовать табличную подсказку NOEXPAND.
Так будет ли это работать (я говорю о производительности)
select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals)
на SQL Server Standard Edition, а также работает
select * from dbo.OrderTotals
на предприятии один?
Вот код для просмотра:
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)