当前位置:数据库 > Oracle >>

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

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

虽然本博文旨在引导大家生产环境如何建立分区
 但千万别被一些所谓的设计指南、特别是一些绝对值建议而把自己作茧自缚
 生产环境当慎独!
 不过、照葫芦画瓢、总比没葫芦乱画一通要强吧
 
 那么、我们从分区索引和分区表来展开
 
 ㈠ 分区索引的设计指南
 

  ① 如果表分区字段正好是索引字段或者其前缀、例如: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 

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

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,