【发布时间】:2018-09-14 20:20:22
【问题描述】:
我有一个表(数百万行),其中一列是文本字段(存储 json blob)。但实际上只有大约 10-20% 是非 Null 的。 稀疏列的最佳实践是什么? 我应该
a) 保持表格不变或
b) 创建一个仅包含该 Text 列的新表?
如果我没记错的话,选项 (a) 很好,因为 InnoDB 只会动态分配该 Text 列所需的空间,对吧?有任何理由选择选项(b)吗?似乎选项(b)只会增加查询(连接)这些表的复杂性,并进一步增加空间复杂度。
【问题讨论】:
-
确保将列声明为可为空,然后 (a) 就可以了。
标签: mysql database database-design