【百度分享】MySQL 5.1分区技术初探(二)解决办法
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
【百度分享】MySQL 5.1分区技术初探(二)
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。这个时候,你可以看到,按照分区后的物理文件是相对独立的:
可知,每个分区有自己独立的数据文件和索引文件,这是为什么你对某一个查询,它只会访问它需要访问的数据块,而不访问根本不是结果的物理块,从而可以大大提高系统的效率。
------解决方案--------------------
JF。。。沙发
------解决方案--------------------
这个没太看明白,吧不过还是顶一下
------解决方案--------------------
我也没有看明白
------解决方案--------------------
没看明白!
------解决方案--------------------
这么简单啊,呵呵
------解决方案--------------------
我晕~
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
重新捡起的知识-字节(Byte)、比特(bit)-计算机常识
一、序
毕业已经两年了,曾经在学校学习的知识早已还给老师了,已经很久...
-
判断php变量是否定义,是否为空,是否为真的一览表
分类:
使用 PHP 函数对变量 $x 进行比较
表达式gettype()empty()is_null()i...
-
硅谷社交13--新建群页面
1)页面布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.a...
-
phpcms漏洞
最近某位大牛说,将放出3个phpcms的0day漏洞,目前我所了解到的已经有2个phpcms漏洞被流传开来,并放出了poc。phpcms...
-
前端到后台ThinkPHP开发整站(1)
1、前言:
我个人从来没有写过博客文章,作为一个程序员没有自己的博客算是一个合格的程序员,所以我地...
-
详解一个自己原创的正则匹配IP的表达式
这里给大家详细讲解一下一个匹配IP地址的正则表达式,
有关正则方面的知识,会在详细...
-
遍历多叉树时遇到的小问题
遍历多叉树的时候,如果遍历到非节点下的子节点,一定要及时打住!!!否则不仅增加O(),而且易造成子节点重...
-
PHP计算近1年的所有月份
$z = date('Y-m');
$a = date('Y-m', strtotime('-12 months'));
$begin = new DateTime($a);
$end = ...
-
PHP集成环境自定义设置PHP版本,同时运行多个php版本,700个PHP版本随时切换,一键开启常用模块。
本文采用我自己开发的纯绿色版WAMP环...
-
判断是手机端还是电脑端 isMobile()
1.在PublicController控制器中写好判断手机端方法。
<?php
namespace HomeController;
use ...