网站管理公司 优帮云怎么制作网页广告
HASH分区主要用来确保数据在预先确定数目的分区中平均分布。它可以基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。
例4:假定你创建了一个如下的一个表,该表保存有20家音像店的职员记录,这20家音像店的编号从1到20。你想把不同时期加入的员工进行分别存储,那么你可以将日期字段hired(即离职时间)作为一个key,创建的SQL语句如下:
那么要插入一个在2005-09-15日入职的员工E1,那么按照取模函数会将其放置到第2分区中:
MOD(YEAR(‘2005-09-01’), 4)= MOD(2005,4)= 1 //即第2分区
KEY分区
与HASH分区类似,但它的key可以不是整数类型,如字符串等类型的字段。MySQL 簇(Cluster)使用函数MD5()来实现KEY分区;对于使用其他存储引擎的表,服务器使用其自己内部的哈希函数,这些函数是基于与PASSWORD()一样的运算法则。
不同分区技术的对比
如上分别列出了不同的分区技术,接下来进行对比,如下表所示:
转载于:https://blog.51cto.com/liuniansishuixi/1076931