select top 2000 id from music where upload_time>=DateAdd(dd,-30,GetDate())

select top 2000 id from music where upload_time>=DateAdd(dd,-30,'2006-03-28 17:42:33')这两个语句,哪个性能高,高多少?
如果后一条好,我考虑要在应用程序里先取得当前时间值直接形成SQL ,替换 GetDate().

解决方案 »

  1.   

    要效率的话,用sp_executesql来执行,将getdate()部分用参数来表示。仅仅只是getdate和常量来比,没多大区别的
      

  2.   

    会不会每记录比较一次,都要计算一下getdate()
      

  3.   

    记录数越大,越明显--------------------
    那是因为有dateadd函数的原因,如果不用函数,直接用getdate(),效率是一样的
      

  4.   

    这样的话,是不是每记录比较,都要算一次DateAdd(dd,-30,GetDate()),而DateAdd(dd,-30,'2006-03-28 17:42:33')就不用算了?
    那么,如果是这样,程序里用2语句比较好吧
      

  5.   

    可以定义一个变量,把getdate()的值赋给这个变量