- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最新Oracle 9i性能调整.ppt
索引与性能 基于函数的索引 Create index ind_name on animal (upper(animal_name)); CBO, query_rewrite_enable=true query_rewrite_integrity=trusted 分析相应的表,列,所有索引; Bad sql的定位 v$sql(v$sqlarea) order by buffer_get desc statspack(v$sql) v$session_wait(with the user’s function get_sql) 其他脚本 set serverout on size 1000000 Declare top25 number; text1 varchar2(4000); x number; len1 number; -- CURSOR c1 is select buffer_gets, substr(sql_text,1,4000) from v$sqlarea order by buffer_gets desc; BEGIN dbms_output.put_line(Gets|| ||Text); dbms_output.put_line(----------||-----------------------------); OPEN c1; for i in 1..25 loop fetch c1 into top25, text1; dbms_output.put_line(rpad(to_char(top25),9)|| ||substr(text1,1,66)); len1:=length(text1); x:=66; while len1 x-1 loop dbms_output.put_line( ||substr(text1,x,66)); x:=x+66; end loop; end loop; end; / 如何跟踪一个session 10046 event(level n)+tkprof n=4:enable sqltrace+variable bind; n=8:enable sqltrace+wait event; n=12: n=4+n=8 SQLalter session set events 10046 trace name context forever,level 8; ….issue your sql statements SQLalter session set events 10046 trace name context off; find the trace file in udump directory; c:\tkprof **.trc output.prf explain=zhoubf/zhou 如何跟踪一个session 其他trace tools sqlplus: SQLSET AUTOTRACE ON Issue ur sql; SQLSET AUTOTRACE OFF ordebug 对Bad Sql的处理流程 1。分析相关表,列和索引以及索引列 analyze table t1 compute statistics for table for all indexes for all indexed columns; 考察索引的合理性 是否缺索引,是否需要重建,是否需要调整 3。调整SQL SQL调整 主要按照如下顺序讨论: 调整表的访问 调整表的连接 调整表的排序 Sql编写的坏习惯 表的访问-全表扫描 全表扫描 1.CBO中决定全表扫描的环境因素: db_block_size db_file_multiblock_read_count 索引得统计资料 高水位线 表的并行属性 2.以下原因容易导致全表扫描 HWM过高 optimizer_mode的不合适 索引分布不平衡 表的访问-全表扫描 3。全表扫描的预防 重组相关表,解决HWM的问题 重新考察index的效率问题 避免使用choose和all_rows,趋向于全表扫描 sql的语法问题 表的访问-全表扫描 4.sql导致的全表扫描 null值 where name is null 调整手段: update t set name=‘N/A’ where name is null
文档评论(0)