You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同Schema不同服务器执行计划COST、%CPU差异及最优计划咨询

问题背景

我们拥有两台Schema完全一致的服务器,均运行Oracle 19c版本数据库,但二者执行计划中的COST与(%CPU)存在差异。

开发环境(12核服务器)执行计划

--------------------------------------------------------------------------------------------------------------
| Id  | Operation            | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT     |          |    13M|  2666M| 10791   (1)| 00:00:01 |        |      |            |
|   1 |  PX COORDINATOR      |          |       |       |            |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)| :TQ10000 |    13M|  2666M| 10791   (1)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
|   3 |    PX BLOCK ITERATOR |          |    13M|  2666M| 10791   (1)| 00:00:01 |  Q1,00 | PCWC |            |
|   4 |     TABLE ACCESS FULL| PERSON   |    13M|  2666M| 10791   (1)| 00:00:01 |  Q1,00 | PCWP |            |
--------------------------------------------------------------------------------------------------------------
 
Note
-----
   - automatic DOP: Computed Degree of Parallelism is 12 because of degree limit

生产环境(64核服务器)执行计划

----------------------------------------------------------------------------------------------------------------------
| Id  | Operation                    | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
----------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |          |    13M|  2666M|    74  (25)| 00:00:01 |        |      |            |
|   1 |  PX COORDINATOR              |          |       |       |            |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)        | :TQ10000 |    13M|  2666M|    74  (25)| 00:00:01 |  Q1,00 | P->S | QC (RAND)  |
|   3 |    PX BLOCK ITERATOR         |          |    13M|  2666M|    74  (25)| 00:00:01 |  Q1,00 | PCWC |            |
|   4 |     TABLE ACCESS STORAGE FULL| PERSON   |    13M|  2666M|    74  (25)| 00:00:01 |  Q1,00 | PCWP |            |
----------------------------------------------------------------------------------------------------------------------
 
Note
-----
   - automatic DOP: Computed Degree of Parallelism is 64 because of degree limit

咨询问题

  1. 高COST低%CPU的开发环境执行计划是否比低COST高%CPU的生产环境计划性能更优?
  2. 差异产生的原因是什么?
  3. 哪个是更优的执行计划?

问题解答

1. 开发环境计划是否比生产环境性能更优?

不是。Oracle的Cost是基于内部模型计算的估算值,不能跨服务器直接对比Cost和%CPU数值来判断性能。实际性能需要看真实执行时间、资源利用率、吞吐量等实际运行指标。

2. 差异产生的原因

  • 并行度(DOP)差异:开发环境用12并行度,生产环境用64并行度。Oracle计算Cost时会将任务分摊到多个并行进程,更高的DOP会大幅降低单进程的Cost估算值,因为总工作量被更多进程拆分承担。
  • CPU配置与Cost模型:Oracle的Cost模型会参考服务器CPU核心数,64核服务器的单CPU资源成本估算更低,导致整体Cost下降;同时高并行度下,更多CPU进程参与工作,会拉高%CPU的占比。
  • 存储访问方式差异:生产环境执行的是TABLE ACCESS STORAGE FULL,开发环境是普通TABLE ACCESS FULL,说明生产环境可能使用了ASM或智能存储层,存储层的优化会让Oracle调整Cost计算逻辑,同时CPU需要处理更多存储协同工作,导致%CPU占比上升。

3. 哪个是更优的执行计划?

生产环境的执行计划更优,理由如下:

  • 64并行度能充分利用多核服务器的硬件资源,理论上处理13M行数据的速度会远快于12并行度;
  • TABLE ACCESS STORAGE FULL借助存储层优化(如存储级并行扫描、数据预取),能减少数据库层的压力,提升整体扫描效率;
  • %CPU占比高是多核并行执行的正常表现,说明更多CPU资源被有效利用,而非资源浪费。

内容的提问来源于stack exchange,提问作者Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:21:08