查看sql对cpu 的开销

简介:       创建一个含有9列的表,插入记录,运行EXPLAIN PLAN 得到执行计划,获得依次读取第一列到第九 列的cpu开销。        注意:初始读取数据的cpu开销为35757,以后依次递增20 。

      创建一个含有9列的表,插入记录,运行EXPLAIN PLAN 得到执行计划,获得依次读取第一列到第九 列的cpu开销。

       注意:初始读取数据的cpu开销为35757,以后依次递增20 。同时I/O开销不变,这是因为所有的数据基本存储在一个数据快里全部查询的物理读取的次数是一样的。

SQL> create table test (t1 number,t2 number,t3 number ,
  2  t4 number,t5 number ,t6 number,
  3  t7 number,t8 number ,t9 number);
表已创建。
SQL> insert into test values (1,2,3,4,5,6,7,8,9);
已创建 1 行。
SQL> explain plan set statement_id 't1' for select t1 from test;
已解释。
SQL> explain plan set statement_id 't2' for select t2 from test;
已解释。
SQL> explain plan set statement_id 't3' for select t3 from test;
已解释。
SQL> explain plan set statement_id 't4' for select t4 from test;
已解释。
SQL> explain plan set statement_id 't5' for select t5 from test;
已解释。
SQL> explain plan set statement_id 't6' for select t6 from test;
已解释。
SQL> explain plan set statement_id 't7' for select t7 from test;
已解释。
SQL> explain plan set statement_id 't8' for select t8 from test;
已解释。
SQL> explain plan set statement_id 't9' for select t9 from test;
已解释。
SQL> select statement_id,cpu_cost as total_cpu_cost,
  2  cpu_cost-lag(cpu_cost) over (order by statement_id) as cpu_cost_1_coll,
  3  io_cost
  4  from plan_table
  5  where id=0
  6  order by statement_id;

STATEMENT_ID                   TOTAL_CPU_COST CPU_COST_1_COLL    IO_COST       
------------------------------ -------------- --------------- ----------       
t1                                       7271                          2       
t2                                       7291              20          2       
t3                                       7311              20          2       
t4                                       7331              20          2       
t5                                       7351              20          2       
t6                                       7371              20          2       
t7                                       7391              20          2       
t8                                       7411              20          2       
t9                                       7431              20          2       
已选择9行。

得出 cpu_cost= column_postion*20 

目录
相关文章
|
29天前
|
NoSQL Redis
Redis AOF重写问题之减少CPU和fork开销如何解决
Redis AOF重写问题之减少CPU和fork开销如何解决
|
4月前
|
SQL 关系型数据库 分布式数据库
在PolarDB中,如果慢SQL导致了CPU升高,进而又产生了更多的慢SQL
【2月更文挑战第22天】在PolarDB中,如果慢SQL导致了CPU升高,进而又产生了更多的慢SQL
40 1
|
SQL 关系型数据库 MySQL
慢sql导致mysql服务器的cpu飙升到100%
慢sql导致mysql服务器的cpu飙升到100%
580 0
|
SQL 存储 关系型数据库
记一次MySQL CPU被打满的SQL优化案例分析
记一次MySQL CPU被打满的SQL优化案例分析
210 0
|
SQL 监控 关系型数据库
慢sql较多,导致数据库cpu打满,造成系统无法正常使用
慢sql较多,导致数据库cpu打满,造成系统无法正常使用
314 0
慢sql较多,导致数据库cpu打满,造成系统无法正常使用
|
SQL 关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
大量慢sql导致mysql服务器的cpu飙升到100%
大量慢sql导致mysql服务器的cpu飙升到100%
1313 0
|
SQL 分布式计算 Hadoop
Spark SQL DataFrame查看函数一文详解运用与方法
Spark SQL DataFrame查看函数一文详解运用与方法
306 0
Spark SQL DataFrame查看函数一文详解运用与方法
查看MS SQL最耗时间资源的SQL
查看MS SQL最耗时间资源的SQL
|
SQL 数据可视化 数据库
SQL SERVER数据库服务器CPU不能全部利用原因分析
SQL SERVER数据库服务器CPU不能全部利用原因分析
211 0