欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 数据库表水平分割和垂直分割?

数据库表水平分割和垂直分割?

2025/4/23 21:32:53 来源:https://blog.csdn.net/qq_42393720/article/details/140966451  浏览:    关键词:数据库表水平分割和垂直分割?

0.数据库表的水平分割垂直分割是两种常见的数据库优化技术,‌它们分别针对不同的场景和需求进行数据表的拆分。‌

1. 水平分割(‌Horizontal Splitting)‌主要是按照记录进行分割,‌即不同的记录被分开保存在不同的表中,‌而这些表具有相同的列数。

‌这种分割方式适用于以下情况:‌

(1)当表非常大,‌分割后可以降低查询时需要读取的数据和索引的页数,‌提高查询速度。‌

    当表中的数据本来就有独立性,‌例如记录不同地区或不同时期的数据,‌且有些数据常用而有些不常用。‌

(2)需要把数据存放到多个介质上。‌

    水平分割的缺点是增加了查询的复杂性,‌可能需要使用UNION操作来查询所有数据,‌这在某些情况下可能会超过它带来的优点。‌

2.垂直分割(‌Vertical Splitting)‌则是按照列进行分割,‌即一条记录中的不同列被分开保存在不同的表中。‌

这种分割方式适用于:‌

(1)当表中某些列常用而其他列不常用,‌通过垂直分割可以提高查询效率。‌
(2)当需要减小数据行的尺寸,‌以便在单个数据页中存放更多的数据,‌减少I/O次数。‌
(3)当表的列数不规定时,可以采用垂直分割的方法,在一个表的末尾添加扩展项数,在另一张表中添加扩展项。具体如下所示:

employees表,包含如下字段:

在这里插入图片描述

extTab表包含如下字段信息:

在这里插入图片描述

缺点:增加了管理的复杂性,‌因为需要管理冗余列,‌并且在查询所有数据时需要进行JOIN操作。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词