从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以获得性能提升,见下图:
阅读(2652) | 评论(0) | 转发(0) |