网站大量收购独家精品文档,联系QQ:2885784924

D2-00 11g 索引与性能-1(140 页).ppt

  1. 1、本文档共143页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
D2-00 11g 索引与性能-1(140 页)

赵元杰 zyj5681@ 2012年11月 OPTIMIZER_INDEX_CACHING参数: 告诉Oracle 索引在内存的数据缓冲区中的可能性有多大,即向优化器暗示位于Oracle 数据缓冲区的索引的数量 参数设置将会影响到“基于代价的优化” 做出的对一个表连接(嵌套循环)使用索引还是使用全表扫描选择 参数optimizer_index_caching是一个百分比参数,有效取值范围是0到100 3.OPTIMIZER_INDEX_CACHING OPTIMIZER_INDEX_CACHING调整: 影响基于CBO的SQL优化器的选择,优化器SQL查询结果可采用: 嵌套循环连接 哈希连接访问 全索引扫描 全表扫描访问 optimizer_index_caching 较大,优化器更趋向使嵌套循环连接(更便宜),优化器不是哈希连接或者归并排序连接 3.OPTIMIZER_INDEX_CACHING Oracle 9i /10g/11g的变化: 从Oracle 9i开始,运行配置多种块大小: 创建表空间的块大小为2K,4K,8K,16K和32K 并使用相似大小的表和索引来匹配表空间 多块变化: 大数据块的输入输出操作的边缘开销可忽略不计 取一个32K大小的数据块的开销仅比取一个2K大小的数据块的开销多1%,因为99%的磁盘输入输出操作都是用来把磁盘读写头的移动到相应的磁盘柱面和轨道 3.OPTIMIZER_INDEX_CACHING 索引与大块的表空间: 当索引被存储在大块表空间中时使用起来更有效。更深层的原因是: B-树可以更好地被平衡 并且对顺序索引节点访问而言有更小的磁盘开销 Robin Schumacher研究表明32K块大小的Oracle索引在执行索引范围扫描时需要更少的逻辑I/O,并且性能更高 3.OPTIMIZER_INDEX_CACHING 创建索引缓冲建议: 可在数据库处于活动状态创建索引缓冲 首先,把所有索引都移至某个单独的表空间,定义成一个单独的数据缓冲区 然后将参数optimizer_index_caching设置成正确的值 分配一个32K的缓冲区空间 alter system set db_32k_cache_size = 100m; 创建块大小32K的表空间 create tablespace index_ts_32k … blocksize 32k; 3.OPTIMIZER_INDEX_CACHING 创建索引缓冲建议(续): 把所有索引移至这个32K的表空间中 该命令把所有索引移至这个32K的表空间而无需中断当前存在的索引查询。它把索引重建成临时段,并确保新索引可用后在删除旧索引 alter index cust_idx rebuild online tablespace index_ts_32k; 3.OPTIMIZER_INDEX_CACHING 创建索引缓冲建议(续): 现在所有索引已经被隔离到一个单独的表空间和索引缓冲区中 查询数据字典,得到期望在内存索引缓冲区中看到的索引的数量: Select value - blocks optimizer_index_caching From v$parameter p, dba_segments s where name = db_32k_cache_size And tablespace_name = INDEX_TS_32K; 3.OPTIMIZER_INDEX_CACHING 3.OPTIMIZER_INDEX_CACHING 创建索引缓冲与嵌套连接: 只有采用( USE_NL )时才使用设置OPTIMIZER_INDEX_CACHING 参数,如: SQL alter session set optimizer_index_caching=90; Session altered. SQL show parameter optimizer_index_caching NAME TYPE VALUE ------------------- ----------- -------------------------- optimizer_index_caching integer 90 4.SKIP_UNUSABLE_INDEXES skip_unusable_indexes参数: 在会话中设置,表示要跳过无效的索引 在EXP中表示要跳过无效的索引 (不导出) 在IMP中表示要跳过无效的索引 (不维护) 索引为什么无效: 当将表从一个表空间迁移到另外新表空间后,原来的索引自动变为无效

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档