我有一个包含五个布尔列的表。在 90% 以上的行中,所有列都为空。(False相当于null我。)
False
null
我可以有一个包含枚举自定义数据类型数组的单个数组列,而不是具有布尔列,从而仅存储非空的列。
我觉得使用数组很奇怪,但我的同事向我指出,并没有真正强烈的理由反对使用它们,而且我们实际上可能会看到使用它们的节省,因为我们没有存储一堆空列。
使用数组有什么缺点吗?具体来说:它们会占用更多空间,占用更多时间进行查询,还是阻止使用 Postgres 功能(例如 gin 索引)?
postgresql performance database-design datatypes array
array ×1
database-design ×1
datatypes ×1
performance ×1
postgresql ×1