oracle开发优化培训.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle开发优化培训.ppt

Select * from v$sqlarea BUFFER_GETS: 逻辑读块数量 DISK_READS: 物理读块数量 EXECUTIONS: 执行次数 SQL_TEXT: 执行sql的前1000个字符 PARSE_CALLS: 执行该sql的编译次数(包括软编译和硬编译) SORTS: 排序次数 LOADS:重载次数 ROWS_PROCESSED:累计处理行数 ADDRESS:SQL地址 HASH_VALUE:hash值 SQL性能调优方法——从V$SQLAREA中查找 select upper(substr(sql_text, 1, 200)) sqltext, sum(a.disk_reads) disk_reads, sum(a.buffer_gets) buffer_gets, sum(a.executions) exections, trunc(sum(a.buffer_gets)/sum(a.executions)) per_gets from v$sqlarea a where a.executions 10 group by upper(substr(sql_text, 1, 200)) order by per_gets desc: 从V$SQLAREA中查找 select event, count(*) cnt from v$session_wait group by event order by cnt desc 需要重点关注的等待事件 buffer busy waits db file scattered read direct path read/write Enqueue latch free 根据等待事件:查看当前会话再等待什么? select /*+ ordered */sql_text from v$sqltext a where (a.hash_value, a.address) IN ( select decode(sql_hash_value,0,prev_hash_value,sql_hash_value), decode(sql_hash_value,0,prev_sql_addr,sql_address) from v$session b where b.sid=(select sid from v$session_wait where event like %event_name% and rownum=1)) ORDER BY piece ASC 根据等待事件:获取会话执行的sql 优化SQL的执行 查看问题SQL的执行计划,分析WHERE条件用到的表及字段数据分布等属性,确定合适的索引(普通索引,组合索引,函数索引等) 定期进行索引重建,索引分析 DMBS_STATS.GATHER_TABLE_STATS DMBS_STATS.GATHER_INDEX_STATS DMBS_STATS.GATHER_SCHEMA_STATS 调整表结构,重写SQL等 SQL性能调优方法 建立合适的索引 查看查询条件中用到的表及字段的数据属性,对于值分布较广或者严重不均匀的字段,大量空值的字段考虑建立索引: User_indexes:包含当前用户的所有索引 User_ind_columns:包含当前用户所有索引包含的列 User_tables:当前用户所有表 User_tab_col_statistics:所有列的统计信息( select * from USER_TABLES A where A.TABLE_name=EMP; select * from user_tab_col_statistics a where a.table_name=EMP; 优化SQL的执行 常用的索引类型 创建普通索引(B-tree) create index ind_emp_no on emp(emp_no) tablespace tbs_ind; 创建组合索引 Select * from employees where name=‘scott’ and branch=‘saleDept’ create index ind1 in employees (name,branch) tablespace tbs_ind; 创建函数索引(需要设置QUERY_REWRITE_ENABLED =true) SELECT * FROM employees WHERE UPPER(last_

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档