li
  当前位置:主页 > 性能优化 > 文章内容
li
oracle SQL性能调整之七: 关于簇
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-04-26   阅读:25  

关于簇

• 簇是一个或多个表的组合,这些表的数据存储在相同的数据块中,当通过簇键查询这些表时,只需读一个数据块就能返回连接的多个表的数据;
• 有两种簇,索引簇和哈希簇;
• 符合下面的条件时适合使用簇:
Ø 表初始装载以后,很少或者没有DML发生;
Ø 针对每一条主表记录,从表中的记录数大致相同并且范围可知;
Ø 更多地是对簇中的表一起查询,较少单独查询(适于索引簇);
Ø 查询WHERE条件中使用针对簇键的相等匹配(适于哈希簇)。
• 先创建簇,建簇时系统分配簇段,再在表创建时将表指定到簇,建表时不能指定表空间,所需空间从簇段中分配;
• 建簇时需指定簇键,不管有多个表或者多少条记录,同一键值在簇中只存储一次;
• 建簇时指定SIZE关键值,这个值定义与一个簇键关联的记录占用的空间之和;
• 索引簇的关键字是INDEX(这是默认值),哈希簇的关键字是HASHKEYS(这个子句后跟一个整数指定簇的哈希值个数,哈希值是簇键值通过簇哈希函数计算后的返回值,哈希值相同的行会一起存储);
• 索引簇在建簇后必须再建簇键栏位的索引,这时系统再分配一个索引段(不明白为什么系统不把这两步联起来,而要这样多此一举?);哈希簇上不能建针对簇键的索引;
• 针对索引簇表的查询和普通表相似,可能也是先索引再簇;针对哈希簇表的查询,如果WHERE条件中用到键栏位的相等匹配,用与插入时相同的哈希算法处理这个键值可以得出查询数据的位置,只需一个IO即可取得需要的数据;
• 使用簇时必须小心规划和测试,否则反而会给性能带来负面影响。




  上一篇: oracle SQL性能调整之六: 关于分...   下一篇: oracle 性能调优:调整共享池之理...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·oracle SQL性能调整之六: 关于分...
·oracle SQL性能调整之五: 关于索...
·oracle SQL性能调整之四: 关于物...
·oracle SQL性能调整之三: 稳定执...
·oracle SQL性能调整之二:深入理解...
·oracle SQL性能调整之一:SQL性能...
·如何有效的关闭生产数据库?
·oracle OCA知识考点
·ORA-12560: TNS: 协议适配器错误
·关于Oracle后台進程问题的讨论
·oracle 性能调优:调整共享池之理...
·oracle 性能调优:调整共享池之测...
·oracle 性能调优:调整共享池之改...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整SGA之共享服...
·oracle 性能调优:调整SGA之共享服...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接