品易云推流 关闭
文章详情页
文章 > MySQL > mysql垂直分割是什么

mysql垂直分割是什么

头像

小妮浅浅

2021-06-05 15:27:57748浏览 · 0收藏 · 0评论

1、概念

垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。

2、优缺点

优势:降低高并发情况下,对于表的锁定。

缺点:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。

3、案例

学生答题表tt:有如下字段:
id name 分数 题目 回答
其中题目和回答是比较大的字段,id name 分数比较小。
如果我们只想查询id为8的学生的分数:select 分数 from tt where id = 8;虽然知识查询分数,
但是题目和回答这两个大字段也是要被扫描的,很消耗性能。但是我们只关心分数,并不想查询题目和回答。
这就可以使用垂直分割。我们可以把题目单独放到一张表中,通过id与tt表建立一对一的关系,
同样将回答单独放到一张表中。这样我们插叙tt中的分数的时候就不会扫描题目和回答了。

以上就是mysql垂直分割的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图