比较两个SQL语句的运行速度。。。。。

myhot-河马吃草 2003-12-10 11:46:40
id 为int类型

第一个:"select min(id) as id from 表 "
第二个: "select top 1 id as id from 表 order by id"


请问:哪个运行更快一些??
...全文
124 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
evlon 2003-12-10
  • 打赏
  • 举报
回复
select top 1 code from dbo.HRDT_e_pubmsg order by code
duration read
0 0 22

select min(code) from dbo.HRDT_e_pubmsg
duration read
78 0 32

code,是自增一的!

不知道有什么索引
dlpseeyou 2003-12-10
  • 打赏
  • 举报
回复
第二个运行快,第一个用到了函数。
caiyunxia 2003-12-10
  • 打赏
  • 举报
回复
第一个:"select min(id) as id from 表 "
wzh1215 2003-12-10
  • 打赏
  • 举报
回复
楼上的几位好像都不对吧,不信你们在查询分析器中用CTRL+L查看一下谁快谁慢!
第一个有函数,但第二个因为有排序
pbsql 2003-12-10
  • 打赏
  • 举报
回复
若在id上建了索引应该是一样
lvltt 2003-12-10
  • 打赏
  • 举报
回复
第二个快。同意楼上的
wzh1215 2003-12-10
  • 打赏
  • 举报
回复
把两条语句放到查询分析器中。
然后按:CTRL+L
查看执行计划!
pbsql 2003-12-10
  • 打赏
  • 举报
回复
第二个比第一个快,因为第一个用了函数
webwolfa 2003-12-10
  • 打赏
  • 举报
回复
有一个,怎样才测出上面两个句子的具体查询进间。
yangyakun 2003-12-10
  • 打赏
  • 举报
回复
有没有人来给点专业的建议啊~!我看是第一个吧!用的语句少速度快啊!
用到函数不一定就慢啊!
showmetoyou 2003-12-10
  • 打赏
  • 举报
回复
呵呵!再补充一个!我想大家就明白了!
select top 1 id as id from test order by id ASC
占用CPU 运行时间
0 0
showmetoyou 2003-12-10
  • 打赏
  • 举报
回复
测试:
表test:
id f1 f2 f3 f4
--------------------------------------------------------------------------
1 23 10.00000000 3 NULL
2 22 17.00000000 9 NULL
3 32 43.00000000 343 3434
4 3434 43343.00000000 34 343

select min(id) as id from test
占用CPU 运行时间
10 10


select top 1 id as id from test order by id
占用CPU 运行时间
0 20
realgz 2003-12-10
  • 打赏
  • 举报
回复
明白了,楼主的id 上建有索引,order by可以直接应用 但min还是进行了扫描。我是取消了索引的。
realgz 2003-12-10
  • 打赏
  • 举报
回复
我跟了一下使用min 的稍快,好象是因为 统计的扫描效率笔order by高

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧