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

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

WBOY
WBOYOriginal
2016-07-06 13:52:06951browse

.
  现在面对一个相当复杂的业务逻辑,所以试图用中间表切割掉它——
  初步估计,这个中间表有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. 除了分表之外,还有什么解决方案吗?

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn