请简述数据库表分割的几种方法及其适用场景。
简答题
请简述数据库表分割的几种方法及其适用场景。
答案:数据库表分割的方法包括:增加冗余列、增加派生列、重新组表、水平分割表、垂直分割表。增加冗余列适用于减少连接查询;增加派生列适用于减少计算和集合函数的使用;重新组表适用于频繁连接的两个表;水平分割表适用于表数据规模大、数据相对独立或需要存放到多个介质上时;垂直分割表适用于减少I/O次数。
解析
参考答案
- 增加冗余列:减少连接查询,适用于经常需要关联查询的场景。
- 增加派生列:减少计算和聚合函数使用,适用于统计、汇总字段。
- 重新组表:把频繁连接的表合并,减少连接开销。
- 水平分割表:按行拆分,适用于数据量大、数据相对独立或需存放到多个介质。
- 垂直分割表:按列拆分,适用于冷热字段分离,减少 I/O。
水平分割与垂直分割的区别:水平分割按行拆分,表结构相同,数据分散;垂直分割按列拆分,表结构不同,属性拆分。
得分点解析
- 答出至少四种方法:体现对表分割策略的完整掌握。
- 每种说明适用场景:分割需匹配查询模式与数据特征,不能只列名词。
- 区分水平与垂直:这是核心易混点,按行与按列决定后续查询、事务和维护方式。
考点延伸
还可联系分区表、分库分表、Sharding;需权衡连接开销、事务一致性和运维复杂度。