很诡异的索引
今天一同事写一SQL语句,执行时间为18~23秒。
吓到我了!!!
仔细一看没有什么问题啊:
1 declare @page int
2 set @page=500
3
4 SELECT top 20 * FROM [Weblog_Log]
5 WHERE log_isdraft=0
6 and Log_Id not in
7 (select top (20*@page) Log_Id from [Weblog_Log]
8 where log_isdraft=0 order by Log_createtime DESC)
9 ORDER BY Log_createtime DESC
百思不得其解,于是把Log_createtime换成了Log_id
一下就出来了~
然后在再去表的设计,发现在Log_createtime列建了一个索引,
更诡异的是,将这个索引删掉过后,查询速度几乎与用Log_id一样的
甚是诡异,求解!