tableOracle执行计划表:一个指南(oracleplan)
作为数据库管理员,我们的职责之一是定期监督数据库的性能,以保持最高的正常运行状态。也许最有效的方法就是利用数据库执行计划表,即Oracle执行计划表。
Oracle执行计划表是一份记录Oracle数据库服务器对数据库访问请求的报告,它包含有关查询和操作的估计性和实际性能信息。这些信息允许DBA识别和改善各种可能引起性能问题的原因,从而有助于改善系统的性能效率。
这些报表可以通过SQL执行分析器或explain_plan生成,该语句可以很容易地提取执行计划表,通常用”explain plan set statement_id=’报表id’ for ‘sql命令'”语句来显示。也可以通过ddl语句直接生成计划表:下面使用SQL语句生成计划表例子:
CREATE TABLE PLAN_TABLE(
STATEMENT_ID VARCHAR2(30),
TIMESTAMP DATE,
REMARKS VARCHAR2(127),
OPERATION VARCHAR2(30),
OPTIONS varchar2(127),
OBJECT_NODE VARCHAR2(128),
OBJECT_OWNER VARCHAR2(30),
OBJECT_NAME VARCHAR2(30),
OBJECT_INSTANCE VARCHAR2(16),
OBJECT_TYPE VARCHAR2(128),
OPTIMIZER VARCHAR2(255),
SEARCH_COLUMNS VARCHAR2(255),
ID NUMBER,
PARENT_ID NUMBER,
POSITION NUMBER,
COST NUMBER,
CARDINALITY NUMBER,
BYTES NUMBER);
以上语句将创建一个表,可用于收集Oracle执行计划表中的数据。
执行计划表的常用字段如下:
• Operation – 诊断操作。
• Options – 诊断选项
• Object_node – 表名
•Optimizer–诊断优化算法(如果有)
•Search_columns–Oracle找到的列的信息
•Id–编号
•Parent_id–Id的父节点
•Position–执行块的位置
•Cost–执行查询需要的估计成本
•Cardinality–估计数量
•Bytes–估计字节
由于Oracle执行计划表仅提供定期估计性能信息,因此我们不能完全依赖它来诊断可能影响性能的问题。但是,它可以给我们一些有用的信息,可以作为检查数据库性能的有用技术。因此,由于对性能的重要性,Oracle执行计划表已经成为数据库管理员日常工作的重要组成部分。