Есть таблица
CREATE TABLE [dbo].[proc_packs](
[id] [int] IDENTITY(1,1) NOT NULL,
[po] [int] NULL,
[prday] [datetime] NULL,
......
CONSTRAINT [pk_proc_packs] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
--Индекс
CREATE NONCLUSTERED INDEX [ix_proc_packs_prday] ON [dbo].[proc_packs]
(
[prday] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Что такого могло произойти, что при выполнении такого запроса
select sum(weight)
,po
from proc_packs where prday>'20130102'
group by po
В плане видим использование индекса ix_proc_packs_prday
а если prday>'20130101' - сканирование кластерного со всеми вытекающими - запрос выполняется больше 2-х минут (дальше ждать не стал)
PS Как планы опубликовать здесь?
SELECT @@VERSION
Microsoft SQL Server 2008 (SP2) - 10.0.4064.0 (X64) Feb 25 2011 13:56:11 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)