2009年12月15日 星期二

sql 索引??評估執行計劃!

select *
from car_workid_ref_tab
where idate ='2009-10-05 00:18:44.653'
-- 我訝異如下的3組查詢式,SQL會採取不同的查詢計劃,
-- 就竟是什麼規則,不得而知,但似乎和預期的量有關!
-- 預期量大時,竟然採掃描整個叢集索引..(2),(3)
-- 意外的,查詢反應時間反而不如預期!!因idate並非叢集索引。

-- (1)
select *
from car_workid_ref_tab
where idate <= dateadd(m,-4,getdate())
-- (2)
select *
from car_workid_ref_tab
where idate <= dateadd(m,-3,getdate())
-- (3)
select *
from car_workid_ref_tab
where idate <= dateadd(m,-2,getdate())

沒有留言:

張貼留言