在网上阅读,关于 PostgreSQL 数组作为表列的类型,我发现开发人员的普遍反应或意见是:“不要使用数组,最好使用另一个表,因为这样可以更好地扩展”。
...我明白,这就是我基本上一直在做的事情。
而且我从未发现开发人员可以同意数组是最合适的任何情况。在任何情况下使用数组真的值得吗?
在网上阅读,关于 PostgreSQL 数组作为表列的类型,我发现开发人员的普遍反应或意见是:“不要使用数组,最好使用另一个表,因为这样可以更好地扩展”。
...我明白,这就是我基本上一直在做的事情。
而且我从未发现开发人员可以同意数组是最合适的任何情况。在任何情况下使用数组真的值得吗?
您可以在其内部表(即pg_class
pg_constraint
)中找到 Postgresql 数组的示例。
如果满足以下条件,数组将是合适的:
您的数据库驱动程序/连接/应用程序正确管理它们(并非所有这些都如此)。
您不需要过滤/查询数组中的数据(您需要数组中的所有数据,或者根本不需要它)。
所以,完美的例子 - pg_constraint.conkey
:
Postgres 可以正确处理它的数组:)
它需要所有列来检查它们(或者如果没有应用检查则根本不需要它们)
UPD:在所有“适当”使用数组的情况下,我能想到,它们总是小的 0-10 元素数组。