sql中SUM()的效率怎样?

SQL语句执行效率_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SQL语句执行效率
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢sql max和sum哪个速度快_百度知道max与top的效率有关问题 - Sql Server当前位置:& &&&max与top的效率有关问题max与top的效率有关问题&&网友分享于:&&浏览:211次max与top的效率问题select & max & ( & VaryDate & ) &
& from & tbl_b_Projectinfo & p &
& inner & join & tbl_b_sonItems & s & on & p.SubItemID & = & s.SubSupeID &
& inner & join & ItemPrjVaryHistory & h & on & h.ItemPrjId & = & p.ProjectID & and & VaryType= '工程完工 ' &
& s.supeid & = &
& @Supeid &
select & top & 1 & VaryDate &
& from & tbl_b_Projectinfo & p &
& inner & join & tbl_b_sonItems & s & on & p.SubItemID & = & s.SubSupeID &
& inner & join & ItemPrjVaryHistory & h & on & h.ItemPrjId & = & p.ProjectID & and & VaryType= '工程完工 ' &
& s.supeid & = &
& @Supeid &
& order & by & VaryDate &
& desc & 这两句sql的执行语句有一分钟的差距了
max不是select & top & 1 & num & from & table & order & by & num & desc & 的函数吗?为什么max比top & 1的速度这么快?
------解决方案--------------------不清楚
------解决方案--------------------max , 你先搜出来VaryDate,再比较一次就ok.
top , 多了个sum的排序,然后再搜索出varydate的。。
------解决方案--------------------select top 1 VaryDate
from tbl_b_Projectinfo p
inner join tbl_b_sonItems s on p.SubItemID = s.SubSupeID
inner join ItemPrjVaryHistory h on h.ItemPrjId = p.ProjectID and VaryType= '工程完工 '
s.supeid =
order by VaryDate
desc 这两句sql的执行语句有一分钟的差距了
-------------------------------------------
那是因為你的VaryDate未建索引
如果你按主鍵排序的話,不一定比第一句慢
------解决方案--------------------Max函数直接取最大值,不用管其他。select top 1 num from table order by num desc 要先按照大小降序排列,然後取第一個。你說哪個快?
------解决方案--------------------这个不好直接比较,要看执行计划才能确定是如何执行的,然后来区别为什么快。
因为对于某张表的查询,SQL会自己来做优化
------解决方案--------------------顶
------解决方案--------------------我用max比用top 1 要快1分钟
数据上100万了 就能深切体会max和top 1 的关系了
数据上200万的话max肯定能出来
top 1 不一定能出来
当然 我不是说简单的max与top 1
在各种各样的条件下。。。。。。。若干条件。。。。。。
------解决方案--------------------我做了一下测试
select max(id) from table_pqs
select top 1 id from table_Pqs order by id desc
id为聚集索引或非聚集索引时,2者执行成本一致,也就是说消耗相同(虽然执行计划有差别)
id不是索引字段时,则执行的查询成本差距非常大max 远比 top 1 成本要低。
查看一下,就是top N sort成本非常高。
这也就是说楼主的应用肯定应用不是索引字段(或该字段没有有效应用到索引)。
------解决方案--------------------显然max要比top快的多了
max的复杂度是O(1)
top的复杂度是O(n) n为数据库的记录数
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有sql in 执行效率低 如何优化_百度知道主要是如何提高聚合函数的运行效率
[问题点数:40分,结帖人sizhouzhou]
主要是如何提高聚合函数的运行效率
[问题点数:40分,结帖人sizhouzhou]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年12月 扩充话题大版内专家分月排行榜第二
2014年12月 扩充话题大版内专家分月排行榜第二
2014年12月 扩充话题大版内专家分月排行榜第二
2014年12月 扩充话题大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。}

我要回帖

更多关于 oracle sum 效率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信