【百度分享】MySQL 5.1分区技术初探(二)

dubai12 2010-08-11 06:16:23
加精
2. MySQL分区介绍
  MySQL的分区技术不同与之前的分表技术,它与水平分表有点类似,但是它是在逻辑层进行的水平分表,对与应用程序而言它还是一张表。
2.1 MySQL分区类型
  MySQL5.1有5中分区类型:
  RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区;
  LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择;
  HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。
  KEY 分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。
2.2 RANGE分区
  对于RANGE分区,举个例子:
  例1. 假定你创建了一个如下的一个表,该表保存有20家音像店的职员记录,这20家音像店的编号从1到20。 如果你想将其分成4个小分区,那么你可以采用RANGE分区,创建的数据库表如下:

 这个例子,它的key是一个整型的数据,那是否对于其它类型的字段就无法作为key呢?  答案是否定的,例子2说明这种情况。
  例2. 假定你创建了一个如下的一个表,该表保存有20家音像店的职员记录,这20家音像店的编号从1到20。你想把不同时期离职的员工进行分别存储,那么你可以将日期字段separated(即离职时间)作为一个key,创建的SQL语句如下:

这样你就可以对一个日期类型的字段调用mysql的日期函数YEAR()转换为一种整数类型,从而可以作为RANGE分区的key。这个时候,你可以看到,按照分区后的物理文件是相对独立的:

可知,每个分区有自己独立的数据文件和索引文件,这是为什么你对某一个查询,它只会访问它需要访问的数据块,而不访问根本不是结果的物理块,从而可以大大提高系统的效率。
...全文
1781 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
魔手虬龙 2012-04-08
  • 打赏
  • 举报
回复
不错,挺有用。
by_dy 2012-01-09
  • 打赏
  • 举报
回复
看不明白,继续学习
teaon/off 2012-01-02
  • 打赏
  • 举报
回复
没看明白!
寒冰2046 2011-05-24
  • 打赏
  • 举报
回复
这个准备用上
elmnd 2011-02-07
  • 打赏
  • 举报
回复
分区
索引
存储引擎
MYSQL查询优化的具体方法~~
comewisdom 2011-02-06
  • 打赏
  • 举报
回复
记住bolg就好了哈!
pan_junbiao 2011-02-05
  • 打赏
  • 举报
回复

思考中...
net205 2011-01-30
  • 打赏
  • 举报
回复
分区后,where后的条件是不是先写上分区字段的条件? 要不然会只访问需要访问的数据块吗?
boer_567 2011-01-28
  • 打赏
  • 举报
回复
谢谢分享心得~
Wang471981125 2011-01-25
  • 打赏
  • 举报
回复
简单而实用。。。。

MYSQL的一个小技术点
duoduo_die 2011-01-24
  • 打赏
  • 举报
回复
您只能输入 10000 个字符禁用UBB 内容存入剪贴板


每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
wocaonima14 2011-01-24
  • 打赏
  • 举报
回复
TKS FOR SHARING
nrssss 2011-01-24
  • 打赏
  • 举报
回复
评价评价
RuanJava 2011-01-24
  • 打赏
  • 举报
回复
也没有看明白!
laqhr2011 2011-01-24
  • 打赏
  • 举报
回复
不错哦
跑跑鱼 2010-10-22
  • 打赏
  • 举报
回复
iskmilan 2010-10-20
  • 打赏
  • 举报
回复
well done!
Juziku 2010-09-25
  • 打赏
  • 举报
回复
好东西,学习了,之前只会水平及垂直拆分。。。
suxin798 2010-09-01
  • 打赏
  • 举报
回复
我晕~
美人心计1999 2010-08-12
  • 打赏
  • 举报
回复
这么简单啊,呵呵
加载更多回复(4)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧