1、概念
垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。
2、优缺点
优势:降低高并发情况下,对于表的锁定。
缺点:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。
3、案例
学生答题表tt:有如下字段: id name 分数 题目 回答 其中题目和回答是比较大的字段,id name 分数比较小。 如果我们只想查询id为8的学生的分数:select 分数 from tt where id = 8;虽然知识查询分数, 但是题目和回答这两个大字段也是要被扫描的,很消耗性能。但是我们只关心分数,并不想查询题目和回答。 这就可以使用垂直分割。我们可以把题目单独放到一张表中,通过id与tt表建立一对一的关系, 同样将回答单独放到一张表中。这样我们插叙tt中的分数的时候就不会扫描题目和回答了。
以上就是mysql垂直分割的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL