提高oracle查询速度

参看当前排序的方式安排,如果sorts(disk)/sorts(memory)>5%,你就迫切需要进行排序优化了。

 Select * from v$sysstat where name like '%sort%';
  
  
  • 1

查询结果 
sort

“` 

所以我们并不需要调整sort_area_size。因此只能通过重新索引,碎片整理来进行优化。



开始优化:

首先在表里建立date_report的索引,发现速度没有多大的提升

查了一通资料,通过sqlplus查询得知oracle默认了参数(排序)sort_area_size是64k,是不是太小了,加大到10240000,重启数据库

再试,没反应还是18秒,哪里出现问题了?

show parameter sort_area_size查看,对的,分明是10M的大小;

继续查资料发现oracle里默认将参数workarea_size_policy=auto,此时sort_area_size是不起作用的,于是继续设置参数:

alter system set workarea_size_policy=MANUAL scope=spfile;

 

再次重启DB,刷新sql,好了速度飞快2s内打开sql。


猜你喜欢

转载自blog.csdn.net/weixin_43212365/article/details/89293679