个人随笔
目录
20240604架构学习:数据库表垂直拆分的目的
2024-06-04 21:48:24

我们知道水平拆分可以防止单表数据量过大,那垂直拆分呢?

原因分析

因为数据库的行是存放在页Page里面的,但是一个Page的大小是16KB,假设我们的数据库表字段超级多或则字段很大,一行数据有1k,那么一Page只能存16行,假设表有1亿条数据,那么需要625万页,如果是全表扫描,那么可以想象625万页的扫描有多恐怖。

假设我们进行垂直拆分,将大字段独立分离出来,小字段一个表,假设小字段只有0.1k,那么就只需要62.5万页,效率高了10倍。

垂直拆分的依据

1、单表数据量未来可能千万
2、字段超过20个,且包含了超长的Varchar,CLOB,BlOB等字段

那些适合放在小表中

1、数据查询,排序时需要的字段,如分类编号,商户ID,品牌编号,逻辑删除标志位等
2、高频访问的小字段,如商品名称,子标题,价格,厂商等

那些适合放在大表中

1、低频访问字段:配送信息,售后声明,最后更新时间等
2、大字段:商品图文详情,图片BLOB,JSON元数据等。

 11

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2