我应该使用1个包含大量NULL列的表或更多没有NULL的表吗?

时间:2016-11-09 06:32:39

标签: mysql indexing null innodb

如果有一个表可能有很多NULL列,或者如果有更多的表没有NULL,那么值得吗? (在带有INNODB引擎的MYSQL DB中)

例如:我有一个标题表,用于存储分类广告的所有常见内容。喜欢标题,描述等...

现在,如果它是车辆广告,您必须包含特殊属性,如燃料类型,传输类型等。

如果是招聘广告,您必须包含工作类型,工资等属性。

所以现在我应该使用一个标题表和另外两个表来存储作业属性和车辆属性,或者将它们全部包含在标题表中。因此,如果它是一个Job广告,车辆列将保持NULL值。

请注意,这些Null able列将用于某些查询。所以我也需要为它们编制索引。

1 个答案:

答案 0 :(得分:0)

通常,实体的重叠属性越多,您希望将所有属性放在同一个表中的可能性就越大。

如果招聘广告仅与车辆广告共享其50%的属性,那么将它们放在不同的表格中可能会很好。

还取决于如何查询数据,如果查询想要获得下一个广告,并且不关心下一个广告是用于作业还是汽车,那么它们可能应该在同一个表中。