С учетом следующих таблиц:
Orders (OrderID, OrderStatus, OrderNumber)
OrderItems(OrderItemID, OrderID, ItemID, OrderItemStatus)
заказов: 2537 записей
Позиции заказа: 1319 записей
Я создал индексы на
- Заказы (OrderStatus)
- ТоварыЗаказ (OrderID)
- ТоварыЗаказ (OrderItemStatus)
У меня есть следующий оператор SQL (сгенерированный LinqToSql), который при выполнении имеет:
- продолжительность = 8789
- читает = 7809.
exec sp_executesql N'SELECT COUNT(*) AS [value]
FROM [dbo].[Orders] AS [t0]
WHERE ([t0].[OrderStatus] = @p0) OR (EXISTS(
SELECT NULL AS [EMPTY]
FROM [dbo].[OrderItems] AS [t1]
WHERE ([t1].[OrderID] = [t0].[OrderID]) AND ([t1].[OrderItemStatus] = @p1)
))',N'@p0 nvarchar(2),@p1 nvarchar(2)',@p0=N'KE',@p1=N'KE'
Есть ли что-нибудь еще, что я могу сделать, чтобы сделать это быстрее?