oeder by性能问题

flycqz 2004-11-22 01:55:46
select * from tlb1 where a='123' and rownumber<2 order by b
其中b是主键,由序列自动生成;
问题
1 我只要查询结果中的一条记录[或no find],所以加了rownumber<2,能加速查询?
2 我想按照b的大小顺序取出一条记录,加了order by,但是比不加order慢了很多,why?
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmgowin 2004-11-22
  • 打赏
  • 举报
回复
1、rownum只是对表的所有记录进行判断,并不是对返回记录再进行判断
加入rownum<2,能加速查询,但如上所说,可能不是你希望获得的结果
2、你加入了order by,则数据库在处理查询的时候就多了个排序操作,而排序操作本身就是比较慢的
zhpsam109 2004-11-22
  • 打赏
  • 举报
回复
看看执行计划!我想你应该明白!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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