海量数据的查询

soho00222 2006-04-18 01:41:54
按照如下方法进行海量数据的查询,不加WHERE条件的话,速度很快,但加了WHERE条年,速度还是很慢呀,请问WHER条件应加在哪里比较适合?
表TABLENAME按ORDERBYFIELD建立索引,
select /*+ first_row */ fields
from TABLENAME
where rowid in (select rid from (select rownum rno, rid
from (select rowid rid from TABLENAME
order by ORDERBYFIELD desc)
where rownum <= 800000 )
where rno >= 799981);
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingofworl 2006-04-18
  • 打赏
  • 举报
回复
可能是不用条件之前顺序取数据,加了条件后反而慢了 ,可否根据条件建立分区
ws54 2006-04-18
  • 打赏
  • 举报
回复
请教楼上的高手,你们用什么方法快速统计记录总数的,我统计10000000条数据耗时15秒,太慢了,网页的等待时间太长了!
soho00222 2006-04-18
  • 打赏
  • 举报
回复
我不是这个意思,这段SQL我看了别人的,自已改了试了一下,感觉很快,但是如果有在表中过滤的查询条件加上以后,又会变得非常慢了。
Visual_Studio_Net 2006-04-18
  • 打赏
  • 举报
回复
如果是海量数据,年不是索引,用年做条件,反而会变得更慢!你不就是想去前800000条记录?????
select * from TABLENAME where rownum<800000

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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