На проверке плана SQL Server запрос с двумя подходящими индексами внезапно начал сканировать таблицу после добавления второго условия. Какой механизм объясняет такой выбор оптимизатора?
CREATE TABLE dbo.Orders (
OrderID int NOT NULL PRIMARY KEY,
ClientID int NOT NULL,
Status varchar(20) NOT NULL,
Amount decimal(12,2) NOT NULL
);
CREATE INDEX IX_Orders_ClientID ON dbo.Orders (ClientID);
CREATE INDEX IX_Orders_Status ON dbo.Orders (Status);
SELECT OrderID, Amount
FROM dbo.Orders
WHERE ClientID = 42 OR Status = 'overdue';