码迷,mamicode.com
首页 > 数据库 > 详细

mysql分表技术

时间:2016-02-29 18:17:47      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法。

目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解。

首先,我们需要想好到底分多少个表,前提当然是满足应用。

这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共 10个表,其取值也很好做,就是对10进行取模。

另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以分的表就很多了。

我一共建立10个表:

技术分享

技术分享

技术分享

最后一个表:a,有几点注意:insert_method=last,如果是insert_method=0,则会报错,执行不成功。

 

注意,合并表也必须和前面的表有相同的结构,类型,长度,包括字段的顺序都必须一致这里。

好了,当需要查询的时候,我们可以只对article这个表进行操作就可以了,也就是说这个表仅仅只能进行select操作,

那么对于 插入也就是insert操作应该如何来搞呢,首先就是获取唯一的id了,这里就还需要一个表来专门创建id,代码如下:

技术分享

 

 

接下来,我们查看所以得表:

技术分享

 

紧接着,我们进行“增删改查”的具体操作。

a.添加数据

步骤:

a-1,先通过表:cre_id,产生一个id值,然后取模(模10),得到,0,1,2,3,4,5,6,7,8,9任意一值。

a-2,拼装数据表:a_n,其中n=0,1,2,3,4,5,6,7,8,9。

a-3,执行常规的插入操作。insert into a_n(...)values(...);

 

mysql分表技术

标签:

原文地址:http://www.cnblogs.com/wuheng1991/p/5228267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!