现在的位置: 首页 > 综合 > 正文

深入理解 Oracle 分区(1):如何实施和评估分区

2013年08月14日 ⁄ 综合 ⁄ 共 830字 ⁄ 字号 评论关闭
   然本博文旨在引导大家生产环境如何建立分区

   但千万别被一些所谓的设计指南、特别是一些绝对值建议而把自己作茧自缚

   生产环境当慎独!

   不过、照葫芦画瓢、总比没葫芦乱画一通要强吧
   
   那么、我们从分区索引和分区表来展开
   

   ㈠ 分区索引的设计指南

      

      ① 如果表分区字段正好是索引字段或者其前缀、例如:t表分区字段是a、
           则a正好是索引字段(a)、或者正好是索引字段(a,o)的前缀、
           则此时应该建立为Local Prefixed Partitioned Index 
         
      ② 否则、如果欲将非分区字段建立为唯一索引、例如:假设在t表的某个字段建立唯一索引
           Oracle要求必须是 Global Prefixed Index
           否则、会出现如下错误:
           ORA-14039: 分区列必须构成 UNIQUE 索引的关键字列子集
         
      ③ 往下看图、此时要判断“是否性能在可承受范围、而分区的可管理性、可用性更重要?”
           如果是、就应该建立Local Non-Prefixed Index 也就是、
           如果历史数据的整理非常频繁、而且不能承受全局分区索引重建的长时间带来的索引不可用
           同时、日常交易性能尚能接受、则建议设计为本地非前缀分区索引
         
      ④ 再往下、最后判断系统是交易系统或数据仓库
           通常情况、数据仓库会有频繁的大批量数据ETL操作、及历史数据清理操作
           此时分区索引可用性更重要、因此建议设计为Local Non-Prefixed Index 
           而在交易系统、日常查询性能要求更高、历史数据清理操作频度相对较低、
           因此、建议设计为Global Prefixed Index 



   ㈡ 表分区设计
      
      在分区方案设计时、首先目标应考虑全面
      综合度量日常联机处理、数据可维护性、数据备份和恢复、并行数据操作等各方面目标

      
         

【上篇】
【下篇】

抱歉!评论已关闭.