当前位置: 首页 > news >正文

一流的商城网站建设/台州网站建设方案推广

一流的商城网站建设,台州网站建设方案推广,怎么做企业招聘网站,房地产开发公司怎么注册使用dbms_xplan工具查看执行计划9i有一个新的包 dbms_xplan,对查询plan_table表是一个很有用的工具,相对于以前写一个复杂的SQL语句,然后从plan_table看执行计划,不如调用 dbms_xplan 包,还可以显示格式,这…

使用dbms_xplan工具查看执行计划

9i有一个新的包 dbms_xplan,对查询plan_table表是一个很有用的工具,相对于以前写一个复杂的SQL语句,然后从plan_table看执行计划,不如调用 dbms_xplan 包,还可以显示格式,这个工具的使用也非常方便。

调用的语法类似

select * from table(dbms_xplan.display(format=>'BASIC'))

使用 TABLE() 操作符,或者 CAST 操作。

DISPLAY 函数有三个参数

TABLE_NAME        指出优化计划放在哪个表里面,默认是 PLAN_TABLE.

STATEMENT_ID      指的是plan table中的statement_id字段,默认是last ID 或者 NULL.

FORMAT            指的是显示的格式

FORMAT参数有三个可选值,原文如下

BASIC           It provides only the minimum amount of information, as in

case of the example above, similar to a query from

PLAN_TABLE directly.

TYPICAL           This is the default value. It provides a variety of the

information useful for understanding how the optimizer

works for this statement. For instance, in case of partitioned

table operation, the columns PARTITION_START,

PARTITION_STOP, PARTITION_ID, and

FILTER_PREDICATES are displayed in addition to COST

for that step, the number of rows expected to be retrieved,

and number of bytes those rows may have. This provides

the information to understand statements involving

partitioned objects.

ALL                This setting displays all the information displayed for the

BASIC and TYPICAL values, and also displays parallel

query operations and the related SQL statements, if those

are involved.

SERIAL             This setting gets results similar to those retrieved by the

TYPICAL setting, but the queries are explained serially even

if a parallel query will be used.

一般推荐使用typical 参数,把SQLPLUS的linesize 参数调整到至少 120

下面是测试步骤

用sys用户建立

PLUSTRACE 角色

$ORACLE_HOME\E:\oracle\ora92\sqlplus\admin\Plustrce.sql

二:把权限授予某个人

grant plustrace to mjs;

三:建立表

建表SQL脚本为在${ORACLE_HOME}/rdbms/admin/下的utlxplan.sql。

四:使用说明

1:我们用一个大表来举例说明如何使用

dw_for_bo@MJS.SENSKY.COM> select count(*) from tbl_fact_sublog;

COUNT(*)

----------

1757960

2:一个很平常的SQL语句

用常规方法如下分析执行计划

analyze table tbl_fact_sublog compute statistics;

set autotrace traceonly

select id,handsetname,count(*) from tbl_fact_sublog group by id,handsetname ;

结果如下:

1757960 rows selected.

Execution Plan

----------------------------------------------------------

0      SELECT STATEMENT Optimizer=CHOOSE (Cost=30264 Card=1757960 B

ytes=24611440)

1    0   SORT (GROUP BY) (Cost=30264 Card=1757960 Bytes=24611440)

2    1     TABLE ACCESS (FULL) OF 'TBL_FACT_SUBLOG' (Cost=2284 Card

=1757960 Bytes=24611440)

Statistics

----------------------------------------------------------

0  recursive calls

88  db block gets

23749  consistent gets

35593  physical reads

0  redo size

47677309  bytes sent via SQL*Net to client

1289670  bytes received via SQL*Net from client

117199  SQL*Net roundtrips to/from client

0  sorts (memory)

1  sorts (disk)

1757960  rows processed

用 dbms_xplan 方法分析

delete from plan_table;

explain plan for select id,handsetname,count(*) from tbl_fact_sublog group by id,handsetname ;

dw_for_bo@MJS.SENSKY.COM> select * from table( dbms_xplan.display );

PLAN_TABLE_OUTPUT

-------------------------------------------------------------------------------------

---------------------------------------------------------------------------------

| Id  | Operation            |  Name            | Rows  | Bytes |TempSpc| Cost  |

---------------------------------------------------------------------------------

|   0 | SELECT STATEMENT     |                  |  1757K|    23M|       | 30264 |

|   1 |  SORT GROUP BY       |                  |  1757K|    23M|    80M| 30264 |

|   2 |   TABLE ACCESS FULL  | TBL_FACT_SUBLOG  |  1757K|    23M|       |  2284 |

---------------------------------------------------------------------------------

Note: cpu costing is off

10 rows selected.

可见,用dbms_xplan这个包可以发现排序的时候需要大概 80M的临时空间

dw_for_bo@MJS.SENSKY.COM> select * from table( dbms_xplan.display('PLAN_TABLE',null,'BASIC'));

PLAN_TABLE_OUTPUT

-----------------------------------------------------

-------------------------------------------------

| Id  | Operation            |  Name            |

-------------------------------------------------

|   0 | SELECT STATEMENT     |                  |

|   1 |  SORT GROUP BY       |                  |

|   2 |   TABLE ACCESS FULL  | TBL_FACT_SUBLOG  |

-------------------------------------------------

8 rows selected.

用BASIC参数得到的信息就少多了。

另:一个有趣的现象,如果我删除统计信息,结果是什么样的?

analyze table tbl_fact_sublog delete statistics;

dw_for_bo@MJS.SENSKY.COM> set autotrace traceonly

dw_for_bo@MJS.SENSKY.COM> select id,handsetname,count(*) from tbl_fact_sublog group by id,handsetname ;

1757960 rows selected.

Execution Plan

---------------------------------------------------------

0      SELECT STATEMENT Optimizer=CHOOSE

1    0   SORT (GROUP BY)

2    1     TABLE ACCESS (FULL) OF 'TBL_FACT_SUBLOG'

Statistics

---------------------------------------------------------

0  recursive calls

88  db block gets

23749  consistent gets

35641  physical reads

0  redo size

47677309  bytes sent via SQL*Net to client

1289670  bytes received via SQL*Net from client

117199  SQL*Net roundtrips to/from client

0  sorts (memory)

1  sorts (disk)

1757960  rows processed

用 dbms_xplan 方法分析

delete from plan_table;

explain plan for select id,handsetname,count(*) from tbl_fact_sublog group by id,handsetname ;

dw_for_bo@MJS.SENSKY.COM> select * from table( dbms_xplan.display );

PLAN_TABLE_OUTPUT

---------------------------------------------------------------------------------------

-------------------------------------------------------------------------

| Id  | Operation            |  Name            | Rows  | Bytes | Cost  |

-------------------------------------------------------------------------

|   0 | SELECT STATEMENT     |                  |       |       |       |

|   1 |  SORT GROUP BY       |                  |       |       |       |

|   2 |   TABLE ACCESS FULL  | TBL_FACT_SUBLOG  |       |       |       |

-------------------------------------------------------------------------

Note: rule based optimization

10 rows selected.

从提示看出,用的是基于规则的优化器,而且没有显示排序大概需要多少空间,看来还是经过分析后用CBO比较好

参考文章:otn相关例子

Donald K. Burleson等人所著的 《Oracle Space Management Handbook》

http://www.lbrq.cn/news/1599535.html

相关文章:

  • 微知微网站建设实训平台/朋友圈广告推广文字
  • 浙江做网站公司/百度一下网页版浏览器
  • 网站设计的流程简答题/天津seo优化公司
  • 专业网站设计专业服务/seo排名方案
  • 效果好企业营销型网站建设/数据交换平台
  • 企业做网站哪家好/济南新站seo外包
  • 淮南市住房与城乡建设部网站/百度首页纯净版
  • asp 网站路径泄露 解决/嘉兴关键词优化报价
  • 免费企业网站程序上传/武汉seo技术
  • 网站做报表/高清视频网络服务器
  • 上海网站建设公司推荐排名/bing搜索引擎入口官网
  • 网站建设托管/企业如何建立网站
  • 简单的网站开发的软件有哪些/廊坊seo排名优化
  • 临朐做网站的/爱站网排名
  • 网站建设论文任务书/免费建网站最新视频教程
  • 无锡网站开发befen/营销推广主要包括
  • 自学平面设计入门教程/企业网站优化公司
  • 在哪个网站做引号流最好/百度快照入口
  • 网站设计用的技术/网站搜索引擎拓客
  • 淘宝客网站需要多大空间/百度指数有哪些功能
  • 郑州个人做网站/seo关键词词库
  • 网站建设如何来选择空间/seo搜索引擎优化实战
  • 短视频带货免费平台/正规seo排名多少钱
  • 公司网站建设工作通知/特大新闻凌晨刚刚发生
  • 免费微网站建站系统/my63777免费域名查询
  • 网页版微信登不上去怎么回事/某网站搜索引擎优化
  • 网站确定关键词 如何做/济南网站制作平台
  • 网站制作与网站设计/seo策略分析
  • 网站改版对seo的影响/google关键词挖掘工具
  • 建一个快讯网站要多少钱/seo资讯推推蛙
  • 数据结构---配置网络步骤、单向链表额外应用
  • SP20D120CTU:1200 V/20 A SiC肖特基二极管的TO-263封装升级版,数据工程师必看!
  • Redis+Lua的分布式限流器
  • 6.1、Redis多级缓存原理和优化、Redis部分参数优化调整
  • 自动驾驶中的传感器技术18——Camera(9)
  • 设计模式 - 组合模式:用树形结构处理对象之间的复杂关系