用JOB啊 空閒時候自動執行即可刪10000條記錄要用40秒嗎?

解决方案 »

  1.   

    问题是我已经建了索引,对时间和名称都建了,但就是很慢啊用job也不行啊,我试过
      

  2.   

    我想问一下具体的SQL语句我是直接清的:DELETE MyTable WHERE DATEDIFF(Hour, TimeSaved, GETDATE())>48DELETE MyTable WHERE DATEDIFF(Minitue, TimeSaved, GETDATE())>48*60
      

  3.   

    declare @nowdate datetime
    select @nowdate=getdate()
    DELETE MyTable WHERE DATEDIFF(Hour, TimeSaved, @nowdate)>48DELETE MyTable WHERE DATEDIFF(Minitue, TimeSaved, @nowdate)>48*60这样会快一些,如果直接将getdate()写进语句中,每条记录都会执行该函数
      

  4.   

    DATEDIFF(Hour, TimeSaved, @nowdate)>
    DATEDIFF(Minitue, TimeSaved, @nowdate)>
    这两句话还可以再优化,你直接计算出小于的某个时间后
    where timesaved<@deltime
      

  5.   

    可Timesaved是个datetime类型,里面为"1900 00:00:00",有办法通过它直接计算出2天前的数据吗??