垂直分割和水平分割的区别就是,水平分割是分割记录,以一条记录/行为单位。垂直分割则是以列为单位,将列分割出去。
举个例子:
垂直分割指的是:字段很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。
例如学生答题表tt:有如下字段:
Id name 分数 题目 回答
其中题目和回答是比较大的字段,id name 分数比较小。
如果我们只想查询id为8的学生的分数:select 分数 from tt where id = 8;虽然知识查询分数,但是题目和回答这两个大字段也是要被扫描的,很消耗性能。但是我们只关心分数,并不想查询题目和回答。这就可以使用垂直分割。我们可以把题目单独放到一张表中,通过id与tt表建立一对一的关系,同样将回答单独放到一张表中。这样我们插叙tt中的分数的时候就不会扫描题目和回答了。
垂直分割一般用得少,水平分割用的较多,在适当的时候垂直分割可以配合水平分割使用
以上例子扒的网上的一个例子 https://www.cnblogs.com/sns007/p/5790838.html,能看懂就行