MySQL 5.1分区技术初探(四)

2.5 KEY分区 
  与HASH分区类似,但它的key可以不是整数类型,如字符串等类型的字段。MySQL 簇(Cluster)使用函数MD5()来实现KEY分区;对于使用其他存储引擎的表,服务器使用其自己内部的哈希函数,这些函数是基于与 PASSWORD()一样的运算法则。 
2.6 不同分区技术的对比 
  如上分别列出了不同的分区技术,接下来进行对比,如下表所示: 
分区类型 优点 缺点 共性 
Range 适合与日期类型,支持复合分区 有限的分区 一般只针对某一列 
List 适合与有固定取值的列,支持复合分区 有限的分区,插入记录在这一列的值不值List中,则数据丢失 一般只针对某一列 
Hash 线性Hash使得增加、删除和合并分区更快捷 线性Hash的数据分布不均匀,而一般Hash的数据分布较均匀 一般只针对某一列 
Key 列可以为字符型等其它非Int类型 效率较之前的低,因为函数为复杂的函数(如. MD5或SHA函数) 一般只针对某一列 
3. 案例分析 
  这个案例是针对有个员工、部门、部门经理、头衔和销售记录的模拟数据,其ER图如下所示,数据量大概有4百万左右。数据下载URL: https://launchpad.net/test-db 


通过如上可知,对于同样的数据按照分区和不分区的技术分别存储,从而便于如下的查询性能分析和对比。  对于salaries表,它采用RANGE分区,定义如下: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值