MySQL中怎么实现垂直分库

开发技术 作者:Leah 2024-03-26 11:10:01
MySQL中怎么实现垂直分库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。水平分表顾名思义...

MySQL中怎么实现垂直分库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

水平分表

顾名思义,水平分表就是把表中的数据进行了水平切割,意味着按照行进行切割,也就是说不同行的数据被切割后可能在不同的表中。

MySQL中怎么实现垂直分库

如图所示,根据水平切割之后,id为1和2的数据行会在一个表中,id为3,4的数据行会在一个表中,而id为5的数据会在一个表中,这就是水平分表。

垂直分表

也是一样,它的意思是把数据表进行了垂直分割,原来表中的列被分到了不同的表中。

MySQL中怎么实现垂直分库

如图所示,desc字段被切割后,会分配到另一张表中。 那么为什么要垂直分表,或者说什么情况下适合垂直分表?  答案就是垂直分表的目的就是将表中的含有大量数据的字段,比如text字段,blob字段从表中分离出去,这样可以大大减轻原表的数据压力,而且这些字段的访问量没有其它字段的访问频率高,所以这么处理是合适的。

水平分库

如果你理解了上面的水平分表和垂直分表,那么数据库的分割你也会很好理解。  顾名思义,水平分库相当于把数据库水平切割,原来一个表中的数据可能会分配到不同的数据库中,这就是水平分库。

MySQL中怎么实现垂直分库

如图所示,table1,table2,table3,table4中的数据都会被水平切割一刀,这样一个表中的数据可能就会被分配到不同的数据库中。

垂直分库

垂直分库,就是将数据库垂直分割,这回一个表中的数据不会被分配到不同数据库,但是不同表可能会分配到不同的数据库。

MySQL中怎么实现垂直分库

如图所示,经过垂直分割table1,table2会分到一个数据库db1,而table3,table4会分配到另一个数据库db2。

什么时候垂直分库呢?答案是根据业务逻辑进行分割。比如我们可以把用户表和用户相关的表分配到用户数据库中,而把商品表和商品相关的数据分配到商品数据库中。

看完上述内容,你们掌握MySQL中怎么实现垂直分库的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注捷杰建站行业资讯频道,感谢各位的阅读!

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_218.html
mysql