>  기사  >  백엔드 개발  >  急问:表内有120万条数据,十个字段,其中三个字段99%为空,合适吗?

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

WBOY
WBOY원래의
2016-07-06 13:52:06953검색

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.