3

在网上阅读,关于 PostgreSQL 数组作为表列的类型,我发现开发人员的普遍反应或意见是:“不要使用数组,最好使用另一个表,因为这样可以更好地扩展”。

...我明白,这就是我基本上一直在做的事情。

而且我从未发现开发人员可以同意数组是最合适的任何情况。在任何情况下使用数组真的值得吗?

4

1 回答 1

2

您可以在其内部表(即pg_class pg_constraint)中找到 Postgresql 数组的示例。

如果满足以下条件,数组将是合适的:

  1. 您的数据库驱动程序/连接/应用程序正确管理它们(并非所有这些都如此)。

  2. 您不需要过滤/查询数组中的数据(您需要数组中的所有数据,或者根本不需要它)。

所以,完美的例子 - pg_constraint.conkey

  1. Postgres 可以正确处理它的数组:)

  2. 它需要所有列来检查它们(或者如果没有应用检查则根本不需要它们)

UPD:在所有“适当”使用数组的情况下,我能想到,它们总是小的 0-10 元素数组。

于 2012-11-22T21:22:36.980 回答