您现在的位置是:亿华云 > IT科技类资讯
MySQL垂直分库,水平分库,垂直分表,水平分表
亿华云2025-10-09 15:16:43【IT科技类资讯】1人已围观
简介之前经常被问道这些分库分表的概念,只是大概知道,但是具体如何定义的,问什么这么定义还是不太理解,今天对着数据表中的数据沉思的时候,突然间醒悟,原来这些概念非常好理解,而且可以说水平和垂直这两个词用得恰
之前经常被问道这些分库分表的直分直分概念,只是库水库垂大概知道,但是平分平分具体如何定义的,问什么这么定义还是表水表不太理解,今天对着数据表中的直分直分数据沉思的时候,突然间醒悟,库水库垂原来这些概念非常好理解,平分平分而且可以说水平和垂直这两个词用得恰到好处,表水表非常形象地帮助我们理解它们。直分直分
水平分表
顾名思义,库水库垂水平分表就是平分平分把表中的数据进行了水平切割,意味着按照行进行切割,表水表也就是直分直分说不同行的数据被切割后可能在不同的表中。

如图所示,库水库垂根据水平切割之后,平分平分id为1和2的数据行会在一个表中,id为3,4的数据行会在一个表中,而id为5的数据会在一个表中,香港云服务器这就是水平分表。
垂直分表
也是一样,它的意思是把数据表进行了垂直分割,原来表中的列被分到了不同的表中。

如图所示,desc字段被切割后,会分配到另一张表中。 那么为什么要垂直分表,或者说什么情况下适合垂直分表? 答案就是垂直分表的目的就是将表中的含有大量数据的字段,比如text字段,blob字段从表中分离出去,这样可以大大减轻原表的数据压力,而且这些字段的访问量没有其它字段的访问频率高,所以这么处理是合适的。
水平分库
如果你理解了上面的水平分表和垂直分表,b2b信息网那么数据库的分割你也会很好理解。 顾名思义,水平分库相当于把数据库水平切割,原来一个表中的数据可能会分配到不同的数据库中,这就是水平分库。

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

如图所示,经过垂直分割table1,table2会分到一个数据库db1,而table3,table4会分配到另一个数据库db2。
什么时候垂直分库呢?答案是根据业务逻辑进行分割。服务器托管比如我们可以把用户表和用户相关的表分配到用户数据库中,而把商品表和商品相关的数据分配到商品数据库中。
总结
总之,无论是何种分割,我们的目的都是为了减少数据库的压力,然后尽可能减少查询带来的复杂性,只要掌握这两个核心,其实概念都是次要的,原理才是重要的。
很赞哦!(22)
相关文章
- 6、提示添加成功,点击确认进行最后的确定操作。一般10分钟就解析生效,可以用域名进行访问了。
- 收好了!8个让你减少脱发的VSCode插件
- FastThreadLocal 是什么鬼?吊打 ThreadLocal 的存在!!
- 你应该知道的ES2020中Javascript10个新功能
- ICANN 规章禁止转移已经被记录或者在60天前内转移的域名。
- 在Scrapy中如何利用Xpath选择器从网页中采集目标数据——详细教程(上篇)
- 让你怀疑人生的重载和重写的区别
- 如果不能用Python执行机器学习,那该用什么呢?
- 互联网其实拼的也是人脉,域名投资也是一个时效性很强的东西,一个不起眼的消息就会引起整个域名投资市场的动荡,因此拓宽自己的人脉圈,完善自己的信息获取渠道,让自己能够掌握更为多样化的信息,这样才更有助于自己的域名投资。
- 小白经验贴:思考问题的方式比“经验”之说更重要