MySQL--表的拆分

表的垂直拆分,控制表的宽度。把原来一个有很多列的表拆分成多个表,解决表的宽度问题,
1 经常一起查询的列放到一起。
2 把大字段独立存放到一个表中,如Text,blob等大字段拆分到附加表中,
3 把经常一起使用的字段放在一起。

表的水平拆分,是为了解决单表的数据量过大、CPU负载过大、查询耗时等问题。水平拆分的表每一个表的结构都是一致的。
为了控制表的大小可以进行表的水平拆分。
range拆分,一段范围内的数据存放到一张表中,如对userid取商,userid为1~9999999范围的数据放到一张表中,userid为10000000-19999999放到一张表中。
在这里插入图片描述

对字段取模,例如按userid维度进行拆分,例如第一次拆分为4张表。第二次在原来每张表的基础上再拆分为2张表,即每次拆分都是在原来的基础上扩大两倍,学习的是hashmap扩容时rehash链表的原理,这样只需要把原表中的数据迁移一半即可。
在这里插入图片描述
参考:
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650994883&idx=1&sn=d605c663547c2dba92fb73b926779a06&chksm=bdbf00908ac8898619285ffbb4a921fab27951cedb4db4bfab50be9b5ab68c88212f33874ba4&mpshare=1&scene=24&srcid=0416AkRiAbEELhCt2ng7EZQV&sharer_sharetime=1587003843152&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd
http://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=2650774906&idx=1&sn=ae0fefd94163bceec85380748d9398ab&chksm=f3f928efc48ea1f9dda2458654c9f173ba7511ab2d85d93d3060bc8e60a58cd17d0a73176574&mpshare=1&scene=24&srcid=0415dCZTnt8GX3cv5vf89gRF&sharer_sharetime=1586926084981&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值