Oracle优化常用概念ppt课件_第1页
Oracle优化常用概念ppt课件_第2页
Oracle优化常用概念ppt课件_第3页
Oracle优化常用概念ppt课件_第4页
Oracle优化常用概念ppt课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle优化常用概念解析.常见概念CBO/RBO表衔接方式执行方案统计信息和柱状图索引分区表AWR表扫描方式hint.CBO/RBO什么是CBO/RBO,任务原理是什么应该运用哪种方式如何查看是哪种方式如何修正优化器方式.什么是CBO/RBO,任务原理是什么CBO:cost-based optimizer,基于本钱的优化器RBO:rule-based optimizer,基于规那么的优化器CBO需求运用统计信息,据此计算最正确的执行方案;而RBO根据oracle设定好的规那么生成执行方案。由于不能窥视到表中数据,RBO往往不能得到合理的执行方案.应该运用哪种方式Oracle 10g的CBO

2、曾经很成熟,引荐运用。Oracle公司也将运用CBO替代RBO,而且RBO对开发人员的要求比较高,因此,CBO是不二选择。.如何查看是哪种方式show parameter optimizer_modeoptimizer_mode的取值包括: rule:RBO choose:有统计信息时是CBO,否那么是RBO, 但运用use_hash,all_rows等提示时都是CBO all_rows,first_rows:CBO.如何修正优化器方式alter system set optimizer_mode = all_rows scope=both; scope的值:both、spfile、memor

3、y,默许是both.表衔接方式有哪几种衔接方式每种方式的特点、任务原理.有哪几种衔接方式hash joinnested loopmerge join.每种方式的特点、任务原理nested loop:运用条件:任何衔接优点:当有高选择性索引或进展限制性搜索时效率比较高,可以快速前往第一次的搜索结果缺陷:当索引丧失或者查询条件限制不够时,效率很低;当表的纪录数多时,效率低。sort merge:运用条件:主要用于不等价衔接,但不包括;相关资源:内存、暂时空间优点:当缺乏索引或者索引条件模糊时,排序合并衔接比嵌套循环有效。缺陷:一切的表都需求排序。它为最优化的吞吐量而设计,并且在结果没有全部找到前不

4、前往数据。hash join:运用条件:仅用于等价衔接;相关资源:内存、暂时空间优点:当缺乏索引或者索引条件模糊时,哈希衔接衔接比嵌套循环有效。通常比排序合并衔接快。在数据仓库环境下,假设表的纪录数多,效率高。缺陷:为建立哈希表,需求大量内存。第一次的结果前往较慢。.执行方案什么是执行方案如何生成执行方案如何看懂执行方案.什么是执行方案Oracle执行每一条SQL语句,都必需经过Oracle优化器的评价,选择最正确的执行途径,包括索引的运用、表的访问、表之间的衔接等等。.如何生成执行方案Pl/sql中按F5,最简单快捷的方式Explain planSql trace,最准确Sql/plus a

5、utotrace,包含更多信息.如何看懂执行方案没有捷径,多看执行方案,网上查一下详细含义方案开个专题讨论.统计信息和柱状图为什么要搜集统计信息统计信息包括哪些内容如何查看能否存在统计信息如何搜集统计信息什么是柱状图为什么要做柱状图如何生成柱状图.为什么要搜集统计信息cbo方式下计算cost所需求的信息,统计信息越准确,oracle生成的执行方案越高效,所以要定期搜集统计信息.统计信息包括哪些内容表:行数、块数、空块数、块的平均剩余空间等表的列:独一值数、null值数等索引:级数、叶子块数、独一值数等.如何查看能否存在统计信息User_tab_statisticsuser_tables也存在相

6、应列User_ind_statisticsuser_indexes也存在相应列User_tab_col_statistics.如何搜集统计信息analyze table tb_name compute|estimate statistics; 该方式用于向后兼容exec dbms_stats.gather_* oracle建议运用的方式.什么是柱状图Oracle的柱状图和web页面展现的柱状图属同一个概念,只是已数据的方式存在而没有直观展现出来而已。每个柱被称为bucket桶。柱状图包含了列上的数据分布,大致可了解为列上每个值的记录数,即数据倾斜度。.为什么要做柱状图Oracle在选择索引时会

7、检查索引的效率从而确定能否运用索引,而柱状图正是提供了这种信息。假设不做柱状图,oracle就确定不了索引的效率,会倾向于运用索引,能够反而不如做全表扫描来得快.如何生成柱状图analyze table tb_name compute|estimate statistics for all indexed columns; 针对索引列analyze table tb_name compute|estimate statistics for columns col_name size ; 针对某一列analyze table tb_name compute|estimate statistics

8、 for all columns; 针对表一切列运用dbms_stats包提供的过程,如:dbms_stats.gather_table_stats(ownname = ,tabname = ,method_opt = for all columns);.索引创建索引的目的索引为什么会加快查询有哪些类型的索引索引的限制.创建索引的目的从根本来讲就是为了加快查询速度Oracle出于对效率的思索,某些约束会关联到索引,从而可以更快的检查约束,主键约束就是一个典型的例子。.索引为什么会加快查询索引的构造使得搜索索引的键值很快。oracle索引的构造类似于平衡二叉树,但每个非叶子节点存储了多个值,降低

9、了树的高度。每个索引键都存储了索引列和rowid,经过rowid访问表是最快的方式。Rowid相当于指针。假设取表中少量数据,先索引搜索再经过rowid访问表显然代价比全表扫描小,但假设取表中大量数据,索引搜索几乎就成了多余的一步,因此,全表扫描更好,走索引反而效率低。这就是索引的效率问题,也是做柱状图的目的。.有哪些类型的索引独一索引、非独一索引:关键字unique函数索引反转索引:关键字reverse用于平衡索引树,使之不会朝一侧倾斜位图索引:关键字bitmap列的基数比较小时非常适宜,但dml操作的代价很高,不适宜oltp系统.索引的限制不等、!=、=、is null操作符对索引列运用函

10、数或者索引列存在隐身转换索引效率不高,适宜做全表扫描错误的统计信息数据倾斜而未做柱状图,或运用了绑定变量而oracle未窥视到运用hint强迫做full scan以%开头的like操作符并行查询小表,oracle以为不需求走索引.分区表有哪些类型的分区表索引的创建.有哪些类型的分区表rangehashlistcomplex.索引的创建global or local?建议运用local索引.AWR什么是awr如何生成awrAwr包含哪些内容.什么是awr全称automatic workload repository自开任务负荷存储。对于运转中的数据库,oracle会定时对运转形状抓取快照,包括内

11、存的占用、磁盘的读写、语句执行情况等信息。Awr保管了时间最长的快照信息,默许是7天。与awr对应的概念还有addm和ash,是时间较短的快照。.如何生成awr登陆到数据库效力器,执行脚本awrrptPl/sql和sql/plus中也可以。独家抓取脚本,无须登陆效力器,运用更方便,每license 10元,收费公正,童叟无欺,欢迎订购运用.表扫描表扫描原理如何查看hwm如何降低hwm.表扫描原理从水线hwm向下扫描hwm hight water mark:oracle运用的块的最大高度,或者说是运用到的最大块号.如何查看hwm查询user_tables.blocks,需求先对表进展分析其他一些

12、左道旁门的方法.如何降低hwmalter table tb_name shrink space; 该方法需求前提alter table tb_name enable row movement;alter table tb_name move; 该方法需求在move完后重建索引alter index ind_name rebuild;truncate.hint运用hint的两种方式有哪些hint.运用hint的两种方式-+,需求留意该方式会注释掉其后同行的内容/*+ */.有哪些hintuse_nl、use_hash、use_merge 表衔接方式leading 表衔接顺序parallel 并行

13、查询full、index全表扫描、索引扫描all_rows、first_rows、choose、rule优化器方式Append、noappend直接途径插入,慎用.语句慢怎样办?检查语句书写能否规范、业务逻辑能否可调一句话,死盯执行方案,语句慢普通是走了错误的执行方案。以下缘由都能够是罪魁祸首:1、优化器选择了RBO2、统计信息缺失或错误3、有hint进展了错误的强迫4、未做柱状图,oracle窥视不到值分布5、索引建的不合理6、隐式转换导致索引运用不上经常会遇到7、某些时候oracle判别不了数据多少,选择了错误的表衔接方式.动态性能视图和数据字典视图动态性能视图:v$开头数据字典视图:dba_*、all_*、user_*.动态性能视图v$session,v$session_wait,v$session_event,v$sqlv$parameter.数据字典视图dba_data_filesuser_tablesuser_indexesuser_objectsuser_sourceuser_segments:对象实践占用空间,非实践运用空间user_users,user

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论