一﹑優化 性能诊断工具:Explain 的使用方法.....................................................................................................1
1﹑使用 Explain.............................................................................................................................................1
1) explain ﹑ 使用語法...............................................................................................................................2
2)﹑用 SQL*Plus 查询 plan table 从而看到执行计划树..........................................................................3
3)在 SQLPLUS 中自动跟踪显示执行计划及相关信息..........................................................................5
二﹑Tkprof 工具(分析 Oracle 跟踪文件并且产生一个更加清晰合理的输出结果)..............................................5
1 Tkprof﹑ 用法..............................................................................................................................................5
2 Tkprof﹑ 命令输出的解释:..................................................................................................................6
3 Tkprof﹑ 的使用步骤基本上遵循以下几步:......................................................................................7
三﹑SQL 編號編寫注意事項...................................................................................................................................9
1:避免使用 not in...........................................................................................................................................9
2:查询数量较大时,使用表连接代替 IN,EXISTS,NOT IN,NOT EXISTS 等。................................9
3:多表查询时,如果其中一个表的记录数量明显大于其他表,则可以先对此表进行查询后,再与其
他小表进行表连接。....................................................................................................................................9
一﹑優化 性能诊断工具:Explain 的使用方法
Oracle RDBMS 执行每一条 SQL 语句,都必须经过 Oracle 优化器的评估。所 以,了解优化器是如何选
择(搜索)路径以及索引是如何被使用的,对优化 SQL 语句有很大的帮助。应用的优化不仅需要知道应
用作了什么,还必须知道应用是如何工作的以及使用何种数据库设计来支持,必须了解使用哪种类型
的 SQL 语句,语句中表与视图的结构及与这些表相关的各类索引。另外,优化整个应用系统可能并不
是必需的,了解应用的各个部分可以让我们了解哪些部分是需要优化的。我们将主要讨论使用 Oracle
RDBMS 提供的性能优化工具进行 SQL 级的优化。
explain 可以用来迅速方便地查出对于给定 SQL 语句中的查询数据是如何得到的即搜索路径(我们通常
称为 Access Path)。Access Path 对性能会有非常大的影响。我们将会讨论各种 Access Path 和使用的优
缺
1﹑使用 Explain
使用 Explain 工具需要创建 Explain_plan 表,这必须先进入相关应用表、视图和索引的所有者的帐户内。
Oracle 的介质中包含有执行此项工作的 SQL 源程序,
例如: ORA_RDBMS: XPLAINPL.SQL (VMS) $ORACLE_HOME/rdbms/admin/utlxplan.sql (UNIX)
这个 SQL 程序应与 catalog.sql 在同一目录,这个程序会创建一个名为 plan_table 的表,表结构如下:
Name Type
STATEMEN_ID VARCHAR2(30)
TIMESTAMP DATE
REMARKS VARCHAR2(80)
OPERATION VARCHAR2(30)
OPTIONS VARCHAR2(30)
Object_node VARCHAR2(128)
Object_owner VARCHAR2(30)
评论0