ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 查看sql对cpu 的开销

查看sql对cpu 的开销

原创 Linux操作系统 作者:杨奇龙 时间:2010-06-11 21:54:30 0 删除 编辑

      创建一个含有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 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22664653/viewspace-665069/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    8206008