原因分析:由于内存区域不够,Oracle 使用磁盘的内存空间进行排序操作,这样就导致了I/O影响SQL性能
解决方式:
1.在排序字段上加索引,但是这个对性能的提升不明显,因为排序是在返回的结果集中完成。
2.可以尝试配置PGA,使其进行自动管理这块内存区域,让Oracle的排序在内存中完成。
不用重启DB,直接在线修改。
SQL>alter system set workarea_size_policy=auto scope=both;
System altered.
SQL>alter system set pga_aggregate_target=512m scope=both;
System altered.
SQL>show parameter workarea --这样查看设置结果
SQL>show parameter pga