通过操作系统 PID、v$session、dba_scheduler_running_jobs、dbms_xplan 等手段,定位 Oracle CPU 高的根因,并给出 SQL 和索引优化思路。
一次达梦 SQL 优化实战:SQL 最终只返回 15 行,但因缺少 SO_ID、SO_DET_NO 联合索引,在 SHOP_SALE_ORDER_DETAIL 宽表上产生大量 BLKUP2 回表。通过新增联合索引和收集统计信息,逻辑读从 40046153 页降到 46 页。
一次 Oracle SQL 优化实战:EBS 请求执行 10 多分钟,原 SQL_ID 为 gcppkx5y05x3k。通过分析执行计划发现多个标量子查询重复扫描 MTL_LOT_NUMBERS 和 CUX_OE_MTL_RESERVATIONS 等大表,最终将重复标量子查询改写为 LEFT JOIN,并补充 VAT_HEADER_ID、PROPERTY_TYPE 等索引,执行时间从 573s 降到 98s。