![](https://img.haomeiwen.com/i4651473/43b98147f32a1ad9.png)
考官考点
分区表的原理
分库分表的原理
延伸:MySQL的复制原理及负载均衡
工作原理
对用户而言,分区表是一个独立的逻辑表,但是底层MySQL将其分成了多个物理字表,这对用户来说是透明的,每一个分区表都会使用一个独立的表文件。
![](https://img.haomeiwen.com/i4651473/678e415219ed8cef.png)
对我们的业务逻辑来说,没有任何影响。
![](https://img.haomeiwen.com/i4651473/bfc5225e40ec85e1.png)
![](https://img.haomeiwen.com/i4651473/fe173713328e8264.png)
我们在获取数据的时候,每一张表的数据量就少了很多了。
![](https://img.haomeiwen.com/i4651473/4331604443d0c193.png)
![](https://img.haomeiwen.com/i4651473/dce004820cc21fe8.png)
![](https://img.haomeiwen.com/i4651473/0987a54e1c8eaabb.png)
![](https://img.haomeiwen.com/i4651473/8d3455e086db90dd.png)
![](https://img.haomeiwen.com/i4651473/6a65746cc6a97e64.png)
![](https://img.haomeiwen.com/i4651473/0cd672de7b8b752c.png)
![](https://img.haomeiwen.com/i4651473/7df46cb48e27606d.png)
![](https://img.haomeiwen.com/i4651473/449816b6d24a26ae.png)
![](https://img.haomeiwen.com/i4651473/708027b801071209.png)
![](https://img.haomeiwen.com/i4651473/0ded8f3e2152658f.png)
![](https://img.haomeiwen.com/i4651473/5d6d3fed81451118.png)
这样我们可以把,活跃数据,单独拆分出来。
![](https://img.haomeiwen.com/i4651473/d2d9d4572d297766.png)
![](https://img.haomeiwen.com/i4651473/4005f39fa806cefe.png)
我们可以把不同的资源,放在不同的服务器上面。
![](https://img.haomeiwen.com/i4651473/78b82245870700b3.png)
![](https://img.haomeiwen.com/i4651473/42240d5413e51da9.png)
![](https://img.haomeiwen.com/i4651473/f46fbd0d1ae54525.png)
就是一条数据的属性太多了。
![](https://img.haomeiwen.com/i4651473/0f9974b18e37be11.png)
![](https://img.haomeiwen.com/i4651473/96e448f10fc67276.png)
![](https://img.haomeiwen.com/i4651473/ebd78378faacdf12.png)
![](https://img.haomeiwen.com/i4651473/b9a560f2b71400f6.png)
![](https://img.haomeiwen.com/i4651473/64087d64b3ec0ddb.png)
![](https://img.haomeiwen.com/i4651473/8479b5aa528f9c80.png)
主库将数据更改记录到二进制日志,从库将主库的日志复制到自己的中继日志,
从库读取中继日志中的时间,将其重放到从库数据中。
![](https://img.haomeiwen.com/i4651473/d477190f6bdae771.png)
加入说,我其中一个丛集坏了,我可以快速,转移到另一个好的机器上面,不用担心这个问题。
![](https://img.haomeiwen.com/i4651473/cecc4b87ac00c800.png)
![](https://img.haomeiwen.com/i4651473/d20ff0860319a1c8.png)
分区分表,常用的场景就是,把常用的数据分出来,把不常用的数据也分出去。
![](https://img.haomeiwen.com/i4651473/5637cf18947d7a43.png)
我们可以使用分区,因为根据MySQL的规则,我们可以把活跃的用户分在一个区,不活跃的用户也分在一个区,然后操作的时候,我们支取操作活跃用户的那个区。
我们还可以通过水平分区的方式,把活跃用户分到一个表,不活跃用户,也分到一个表。我们在查询的时候只查询活跃用户啊的那个表。
网友评论