打开一个统计的页面,等了差不多两分钟,时间也确实太久了,虽然统计是复杂点,只不过应该没有这么慢才是,今天认真的把sql语句查看了一下,将写的top修改为max,统计页面的呈现时间就只有几十秒,问题终于解决了max与top的效率。。。
   部分sql得代码如下:

1max与top的效率select max ( VaryDate )  from tbl_b_Projectinfo p      
2max与top的效率inner join tbl_b_sonItems s on p.SubItemID = s.SubSupeID        
3max与top的效率inner join ItemPrjVaryHistory h on h.ItemPrjId = p.ProjectID and VaryType='工程完工'   
4max与top的效率where     s.supeid =  @Supeid   

 

1max与top的效率select top 1 VaryDate   from tbl_b_Projectinfo p      
2max与top的效率inner join tbl_b_sonItems s on p.SubItemID = s.SubSupeID        
3max与top的效率inner join ItemPrjVaryHistory h on h.ItemPrjId = p.ProjectID and VaryType='工程完工'   
4max与top的效率where     s.supeid =  @Supeid   order by VaryDate    desc


    max返回表达式得最大值,TOP 子句限制返回到结果集中的行数。
    差别在于top对结果集还要进行排序,简单的max和top 1是感觉不出的速度的,当数据量大之后,两者的差别就越明显,当然,如果字段设置索引的话情况或许就有所不同,效率上也许会一样,具体没有做过这个测试,所以在这种情况下我们最好用max而不是top 1,这样程序的执行效率,运行成本才会降的最低。。。
   

相关文章:

  • 2021-08-01
  • 2022-12-23
  • 2022-02-17
  • 2021-04-25
  • 2021-10-20
  • 2021-07-12
  • 2022-02-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-22
  • 2021-12-03
  • 2021-12-22
  • 2022-12-23
相关资源
相似解决方案