17.9.2. 关于MySQL簇的MySQL 5.1发展历程

这里所介绍的内容是一份状态报告,它基于最近提交到MySQL 5.1源码树的内容。请注意,所有的5.1开发活动均可能随时变化。

目前,有四种为MySQL 5.1开发的主要新特性:

1.    MySQL簇集成到了MySQL复制中:这样,就能从簇中的任何MySQL服务器执行更新,并由簇中的1MySQL服务器处理MySQL复制,并保持了从服务器端安装的一致性。

2.    支持基于磁盘的记录:将支持磁盘上的记录。对于包含主键哈希索引的有索引字段,必须仍保存在RAM中,但可以将所有其他字段保存在磁盘上。

3.    大小可变的记录:定义为VARCHAR(255)的列目前使用260字节的存储空间,与任何特定记录中保存的内容无关。MySQL 5.1簇表中,只保存被记录实际占用的字段部分。这样,在很多情况下,能够将这类列的空间需求量降低5倍。

4.    用户定义的分区功能:用户能够根据主关键的字段部分定义分区。MySQL服务器能够发现是否能将某些分区从WHERE子句中删除。能够根据KEYHASHRANGELIST处理程序执行分区操作和子分区操作。对于很多其他处理程序,也应能使用该特性。

此外,对于簇表中包含除BLOBTEXT外的列类型的行,我们正准备增大8K的大小限制值。这是因为,行目前具有固定的大小,页大小为32768字节(减去用于行标题的128字节)。在目前,这意味着,如果允许每记录占用的大小超过8K,剩余的空间将为空(多达14000字节)。在MySQL 5.1中,我们打算更正该限制,从而使得在给定行中使用8K以上的空间不会导致页剩余部分的浪费。

关注编程学问公众号