找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 mysql教程 查看内容

mysql水平分表怎么分

作者:模板之家 2019-5-25 16:44 2316人关注

分出的三张表表结构是一样的 只不过把数据进行分别存放在这三张表中,通过对id进行取余,实现水平分表;如果不是id字段,那就先md5加密,成为16进制数,在进行对其取余来实现水平分表。

Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉;水平分表能够很大程度减少这些压力。

水平分表:

mysql.png

如上图所示:另外三张表表结构是一样的 只不过把数据进行分别存放在这三张表中,如果要insert 或者query 那么都需要对id进行取余 然后table名进行拼接,那么就是一张完整的table_name

但是如果我需要对name进行分表呢 或者对email呢?

那么就需要用MD5进行加密 因为MD5加密后是16进制 那么就就可以进行取余,思路同上。

根据一列或多列数据的值把数据行放到两个独立的表中。

水平分割通常在下面的情况下使用。

表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。

表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。

以上就是mysql水平分表怎么分的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章!


路过

雷人

握手

鲜花

鸡蛋
来自: [db:来源]

全部回复(0)

发表评论