CentOS 上 SQL*Plus 性能调优方法
一 客户端 SQL*Plus 设置
二 SQL 与对象层优化
三 操作系统与硬件层优化
四 连接与会话管理策略
五 快速检查清单与示例脚本
-- 1) 客户端性能相关
SET ARRAYSIZE 2000
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 32767
SET WRAP OFF
SET TERMOUT OFF -- spool 导出时建议关闭终端输出
-- 2) 执行计划与统计
EXPLAIN PLAN FOR
SELECT /*+ INDEX(t idx_col) */ col1, col2
FROM t
WHERE col1 = :x AND col2 > :y;
SET AUTOTRACE ON EXPLAIN STATISTICS
SELECT /*+ INDEX(t idx_col) */ col1, col2
FROM t
WHERE col1 = :x AND col2 > :y;
-- 3) 批量导出(减少往返与终端开销)
SPOOL /tmp/result.csv
SELECT col1 || ',' || col2 FROM t WHERE ROWNUM <= 1000000;
SPOOL OFF
说明:上述客户端设置与 AUTOTRACE/EXPLAIN 仅影响 SQL*Plus 的取数与显示行为;SQL 改写、索引/分区与统计信息才是决定执行效率的关键。