oracle的倒序查询问题,急啊

eyoexply 2005-01-11 11:10:26
有一个表里有很多数据,而频繁查询的是新插入的数据,而早前插入的数据是很少用到的(几乎不用),这样select的话,oralce是从第一条查起,这样就读了很多没用的数据,浪费时间。能不能让oracle从最后的一条数据查起,这样很快就能找到要用的记录,是不是要建立一个倒序索引??或者其他什么办法?
谢谢!!
...全文
1317 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
GerryYang 2005-01-11
  • 打赏
  • 举报
回复
当然可以根据你查询的条件建立索引就可以了.
你查询的时候使用了索引,自然就快了
ATGC 2005-01-11
  • 打赏
  • 举报
回复
最后,凭啥说那条记录是最后的?得有个标准
skyboy0720 2005-01-11
  • 打赏
  • 举报
回复
ORACLE的索引类型:
B数索引:默认的和最常用的索引
反序索引:通常用在ORACLE REAL APPLICATION CLUSTER环境中
位图索引:紧凑的特别适用于具有少量值集的列
函数索引:能够在索引中包含函数/表达式的预先计算的值
ORARichard 2005-01-11
  • 打赏
  • 举报
回复
建立一个倒序索引
北极星2013 2005-01-11
  • 打赏
  • 举报
回复
可以考虑按日期建立索引啊。
skyboy0720 2005-01-11
  • 打赏
  • 举报
回复
如果经常查询的字段,要提高速度,确实需要建立索引!
同时优化SQL语句也是很重要的!
skyboy0720 2005-01-11
  • 打赏
  • 举报
回复
查询的时候到序排列不就行了?!
zhouweiwansui 2005-01-11
  • 打赏
  • 举报
回复
你这个问题恐怕不能解决吧
zgh2003 2005-01-11
  • 打赏
  • 举报
回复
创建一个按照你要求排序的视图,
然后直接从视图中查询数据就可。
例:
create or replace view v_test
as select * from test order by col_name desc;

select * from v_test where rownum<10
ineedtostudy 2005-01-11
  • 打赏
  • 举报
回复
建立一个反序的时间索引就可以了。
eyoexply 2005-01-11
  • 打赏
  • 举报
回复
就是后插入的记录最常用!!
lynx 2005-01-11
  • 打赏
  • 举报
回复
为数据表增加一个日期字段,写入插入或者修改数据的时间,然后你就可以按该字段得倒序排列获得你要的记录了

17,377

社区成员

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

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