我们正在使用django-dbarray模块在 postgres 中使用数组。我一直在对 postgres 数组进行一些研究,一些开发人员表示他们不建议使用存储超过 X 值的 postgres 数组。有时,这是十个,而我听到的多达三十个。在性能开始下降之前,是否可以或应该在数组中存储多少值?
作为参考,上面的DB主要是只读DB。
我们正在尝试决定应该在哪里使用中间表以及应该在哪里使用 postgres 数组。
另一个相关问题:在针对表中的列创建索引时,该列存储数组值(比如说 bigint [])。我意识到存储在数组中的值不会被索引,而只有数组本身(我假设这类似于 C 指针)。与简单地拥有一个中间表相比,这有多有效?
我们可能需要针对这些值创建连接或在 where 子句中包含一些特定值,我担心某些性能可能会降低,并且每当我们可能需要创建连接时,最好使用中间表。
最后,鉴于我们使用的是 dbarray,与简单地使用带有标准 django ORM 的中间表相比,它的效率是多少(假设没有连接是上述问题的 where 子句)?
谢谢