关于日常操作中sql的性能

  最近接手了一个项目。使用的数据库是sql server,但是遇到一些关于日期的查询的时候,查询结果非常慢。看了下别人的sql 

  //sql = sql + " and CONVERT(nvarchar(19),AddTime,120)<='" + where["AddTime2"].ToString() + "'";

  这个对时间操作的效率太低了。我猜应该是每行的时间都需要截图然后比较导致性能非常差,强调下如果没有比较可能性能还好一点。

  所以后来经过处理之后,我们把sql 改成了

  sql = sql + " and  datediff(d,AddTime,'" + where["AddTime2"].ToString() + "')>=0";

  总结下吧如果有日期对比在sql server里面千万不要用CONVERT 这个关键字再比较 最好用datediff!

  

原文地址:https://www.cnblogs.com/AndyLin/p/12890183.html