欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

急问:表内有120万条数据,十个字段,其中三个字段99%为空,合适吗?

程序员文章站 2022-05-02 09:41:13
...
.
  现在面对一个相当复杂的业务逻辑,所以试图用中间表切割掉它——
  初步估计,这个中间表有120万条数据,但为了业务需要,这个表其实存储了两类数据:每个用户有一条、每周/月/季度的统计数据为一条,status鉴别类型。(见下方表结构)
  故而,绝大多数数据的后一类(三个字段),都是空的。(我看数据库内的其他表,有相当多的字段的值都是0或者NULL,才出此下策)

大致的表结构(不严谨):
| userId | groupId | status | sales(99%为空) | createTime(99%为空) | lastTime(99%为空) | endTime(99%为空) |

想了解

  1. 这个数据量的空字段,是否会对效率形成影响?

  2. 除了分表之外,还有什么解决方案吗?

这种设计表的活,需要后端程序来做吗?无力感满满的。

回复内容:

.
  现在面对一个相当复杂的业务逻辑,所以试图用中间表切割掉它——
  初步估计,这个中间表有120万条数据,但为了业务需要,这个表其实存储了两类数据:每个用户有一条、每周/月/季度的统计数据为一条,status鉴别类型。(见下方表结构)
  故而,绝大多数数据的后一类(三个字段),都是空的。(我看数据库内的其他表,有相当多的字段的值都是0或者NULL,才出此下策)

大致的表结构(不严谨):
| userId | groupId | status | sales(99%为空) | createTime(99%为空) | lastTime(99%为空) | endTime(99%为空) |

想了解

  1. 这个数据量的空字段,是否会对效率形成影响?

  2. 除了分表之外,还有什么解决方案吗?

这种设计表的活,需要后端程序来做吗?无力感满满的。

如果字段不会用到就把他去掉吧
如果有可能会用到留着问题也不大,查询的时候指定需要的字段去查询也没有影响

相关标签: php sql mysql