IQ 15 表分区(1)

2785阅读 0评论2012-05-14 lion_sybiq_127
分类:Sybase

    从Sybase IQ 15开始支持表分区特性,下面就详细的介绍IQ 15表分区的特性、限制及使用方法。
 
1. IQ 15的表分区的特点和约束:
  (1) 主要是解决表的管理问题;
 
  (2) 支持的分区策略比较少,目前只能是范围分区,并且分区键只能是一个字段,并且不支持子分区;分区键必须是NOT NULL;分区键不能UPDATE(可以通过delete然后insert解决;
 
  (3) 目前的IQ 15版本只能对表字段FP索引的数据部分进行分区(FP索引的look pages也是全局的,不能分区);所有其他的IQ索引(包括:HG、LF、HNG、日期类型索引和WD索引等)都是全局的、不能分区;

  (4) 每个分区中的记录数据可以被放在指定的dbspace上;
 
  (5) 对于一个已经存在的未分区表,可以使用alter table语句进行分区,不过需要注意的是:表中所有存在的记录必须属于头一个分区;
  (6) 对于已经分区的表,可以对分区进行move、split、merge、add/drop、rename、unpartition操作;可以对一个表分区进行dbcc检查,truncate table语句可以删除一个表分区中的数据;
 
  (7) 一个表最多可以有1024个分区
  (8) 分区键的数据类型不能是:float、 double和 varchar > 255
 
  (9) When modifying a partitioned table, best performance is achieved when the partitioning column is the first column in the column list of the statement
  
  (10) 在我们的测试中,对于查询性能提升比较小;但表分区可以提升表的可用性、降低管理和维护的代价(比如表的一个分区损坏,其他分区还可以进行访问;在进行dbcc检查时可以只针对一个分区进行,这样可以提高检查的速度和灵活性)。
 
  (11) 从Sybase 官方提供的IQ Roadmap可以看到,IQ 16计划增强表分区的能力,用户可以在这次迁移时建立表分区,日后升级到IQ 16以获得性能提升,见下图:
 
 
 
 
  

 
上一篇:通过Open Client E-SQL/C 调用IQ存储过程如何显示print语句的输出信息
下一篇:IQ 15 表分区(2)