实表与这个临时表结构基本一致
select @cal_date_1,a.user_id,"",'0700','',5,'0',a.dept_id
from collect_cost a (INDEX PK_collect_cost)
where
a.cal_date>=dateadd(mm,-6,@cal_date_1)
and a.dept_id =@dept_id //and a.user_id <'010004748'
and NOT EXISTS (SELECT 'X'
from #a_user_cost_tq b
WHERE b.cal_date >= dateadd(mm, -6, @cal_date_1)
and b.dept_id = @dept_id
AND b.user_id = a.user_id
AND a.user_id >= CHAR(0)
and a.serial_num=0作者: mcolinc 时间: 2008-03-24 18:13
扩充tempdb试试看作者: maolinzhou 时间: 2008-03-28 13:40
把你需要对比的主表数据也放到临时表中
把你以下部分共存的删掉不比你用not exists快呀,not exists 用不上索引
SELECT 'X'
from #a_user_cost_tq b
WHERE b.cal_date >= dateadd(mm, -6, @cal_date_1)
and b.dept_id = @dept_id
AND b.user_id = a.user_id
AND a.user_id >= CHAR(0)
and a.serial_num=0作者: netchecking 时间: 2008-06-15 15:54
大数据量处理办法其实就是一个核心问题:数据存储算法。
只要针对系统需求,设计良好的算法,任何大数据量都不是问题。可以到我们的研究中心看看。http://www.distributed-cluster.com作者: zhaopingzi 时间: 2008-06-15 17:05
给tempdb绑定高速缓冲,试试作者: chuxu 时间: 2008-06-16 09:20
SELECT 'X'
from #a_user_cost_tq b
WHERE b.cal_date >= dateadd(mm, -6, @cal_date_1)
and b.dept_id = @dept_id
AND b.user_id = a.user_id