文档详情

ORACLE 优化.ppt

发布:2017-05-25约3.32万字共98页下载文档
文本预览下载声明
通过一些工具检查性能瓶颈 一、数据库数据字典 二、ORACLE STATSPACK工具 三、自动工作负载信息库(AWR) 一、数据库数据字典 可以通过v$session_wait, v$session_event、v$system_event等一系列系统动态视图获得数据库中的活动情况,并且分析性能瓶颈,这个需要平时的收集积累。 比如以下语句; SELECT sql_text,hash_value,executions,buffer_gets, buffer_gets / executions,disk_reads,parse_calls FROM V$SQLAREA a WHERE buffer_gets --OR disk_reads 1000000 order by buffer_gets / executions 二、ORACLE STATSPACK工具 ORACLE从ORACLE8.1.6开始引入STATSPACK工具,马上成为DBA用来诊断ORACLE数据库性能的最常用的利器。 STATSPACK脚本位于$ORACLE_HOME/RDBMS/ADMIN目录下,对于ORACLE8.1.6是一组以STAT开头的文件,对于ORACLE8.1.7及以后的版本,是一组以SP开头的文件。 在STATSPACK被引入之前,通常的数据库诊断工具是两个脚本UTLBSTAT.SQL和UTLESTAT.SQL, UTLBSTAT.SQL获得开始时很多V$视图的快照, UTLESTAT.SQL通过先前的快照和当前视图生成一个报表,改报表实际相当于STATSPACK的两个采样点,STATSPACK通过连续的采样,提供趋势分析数据,比BSTAT/ESTAT工具先进。 有兴趣者可参看相关书籍,在此不深入讨论了。 三、自动工作负载信息库 (AWR) 参见《ORACLE 10G介绍》的“AWR”章节。 * 如果根据索引查询的数据全在内存里,那么将不会执行第二步,此时效率会很高 * in-bind: When a PL/SQL variable or host variable is stored in the database by an INSERT or UPDATE statement. out-bind:When a database value is assigned to a PL/SQL variable or a host variable by the RETURNING clause of an INSERT, UPDATE, or DELETE statement. define: When a database value is assigned to a PL/SQL variable or a host variable by a SELECT or FETCH statement. 指定表的顺序的leading提示 select * from t_cz_large tl,t_cz_mid tm,t_cz_small ts where ts.vn_num=tl.vn_num and tl.vn_num=tm.vn_num select/*+ leading(ts tm tl) */ * from t_cz_large tl,t_cz_mid tm,t_cz_small ts where ts.vn_num=tl.vn_num and tl.vn_num=tm.vn_num 改变表内部连接方式的use_merge,use_nl,use_hash提示 select/*+ use_hash(tl tm) */ * from t_cz_large tl,t_cz_mid tm,t_cz_small ts where tl.vn_num=tm.vn_num and tl.vn_num=ts.vn_num select/*+ use_merge(tl tm) */ * from t_cz_large tl,t_cz_mid tm,t_cz_small ts where tl.vn_num=tm.vn_num and tl.vn_num=ts.vn_num select/*+ use_nl(tl tm) */ * from t_cz_large tl,t_cz_mid tm,t_cz_small ts where tl.vn_num=tm.vn_num and tl.vn_num=ts.vn_num Append来提高插入速度 insert/*+append */ into t_cz_mid [nologging] select * from t
显示全部
相似文档