首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Oracle SQL查询依照字段排序后性能下降

2012-07-23 
Oracle SQL查询按照字段排序后性能下降如下为在PL/SQL中的测试结果一个查询语句select * from web_data wh

Oracle SQL查询按照字段排序后性能下降
如下为在PL/SQL中的测试结果

一个查询语句
select * from web_data where devicecode=211011648
执行的时间是0.078s,
而加了排序之后
select * from web_data where devicecode=211011648 order by dataid asc
执行的时间是6.329s

其中dataid是主键,devicecode与dataid都是number类型,且在这两个字段上都加了索引

整个web_data表的记录数是1640542,
满足条件devicecode=211011648的记录数是5443,

请教高人指点如何才能提升排序的性能?




[解决办法]
既然要排序,就需要时间,所以耗时长.
[解决办法]
这个设计调优了
内存中有个排序区, sort_area_size 调调试试
[解决办法]
要排序的话 sql语句只能做到这个程度了 只有从其他角度出发 

[解决办法]
不然分成两层些,先查再排,试试。
select * from(select * from web_data where devicecode=211011648 ) order by dataid asc

或者修改建在dataid上的索引,指定按照升序。

热点排行