如何提升查找符合条件后的前n条记录的效率?

superfishmanweb 2006-03-09 01:58:23
select * from t_data where rownum<=100 order by c_opertime desc
上面的写法先取了100条再排序,所以不准确,所以我用了下面一条
select * from (select * from t_data order by c_opertime desc ) where rownum<=100
但效率非常低,我有什么办法可以用另一种写法来提高这种查询的效率呢?
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelyfatboy 2006-04-07
  • 打赏
  • 举报
回复
学习中...............
superfishmanweb 2006-04-03
  • 打赏
  • 举报
回复
up
superfishmanweb 2006-03-31
  • 打赏
  • 举报
回复
up
didoleo 2006-03-30
  • 打赏
  • 举报
回复
gz
superfishmanweb 2006-03-30
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
看看他们的执行计划吧
superfishmanweb 2006-03-10
  • 打赏
  • 举报
回复
up
superfishmanweb 2006-03-09
  • 打赏
  • 举报
回复
这样也是嵌套呀.为什么会快一点呢,能不能说说个中原因?不能不嵌套吗?
cenlmmx 2006-03-09
  • 打赏
  • 举报
回复
select * from
( SELECT row_number() over(order by c_opertime desc ) rnum, t.* from t_data t )
where rnum <= 100

17,377

社区成员

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

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