日期:2014-05-16 浏览次数:20480 次
?110)谈到分区的作用。我想有点意识的人都会明白。把一个大的数据表,分成一个一个的处理,这样做的效果是是显而易见的。在OLTP系统中,这种优势体现不出来。但是在数据仓库的系统中,这种优势则还是相当的明显的。区间分区,散列表分区,列表分区还有组合分区。
?
111)区间分区。根据条件来进行分区。具体的语法,可以见P572页。
?
112)散列表分区。就是使用哈希函数,计算值来进行分区。不过分区的个数,最好是2的幂。这样会使得数据相对平滑。
?
113)列表分区。根据散列值的列表进行分区。因为上面的散列值是不能控制的。而这里则可以控制。
?
114)索引分区:
???? 分为局部索引和全局索引。
????
115)局部索引分。简单的说,就是一个分区,一个索引。
???? 局部前缀索引和局部非前缀的索引。两者的区别经在于,前者,分区键会在索引的前几列上。后者则不会。
???? 然后,其涉及的两个问题
???? 其一,分区消除行为。
???????? 如果说一个分区下线(比如出现磁盘错误等)。利用局部前缀索引的查询能够完成。但是非前缀索引的则不行。
???? 其二,为了保证唯一约束(UNIQUE和PRIMARY KEY)。分区键必须包含在索引本身。
?? ??看到这里,我明白了一件事情。那就是,其实查询优化等,会自动区分各个索引的不同。