将10000个整数数组值存储为数组列类型性能,将单独的表与Postgres中的JOIN查询进行比较

问题描述

我在Postgres数据库中有产品表。.我必须根据用户的密码显示产品,以了解该产品在该地区是否可用。因此,我必须存储每种产品的密码。 每个产品最多可以有12000个密码。

所以我的问题是将pincode作为具有索引的主产品表中的数组列类型存储,还是使用花费JOIN查询的单独表是有效的。

据我了解,存储在数组列中是高效的,因为必须在具有并行1000个用户的过滤器/搜索中(有时)在列表中显示产品。.因此,与之相比,联接表会太繁重。但是这样做,我必须对所有与产品相关的事物进行本机查询,因为Spring Boot JPA不支持整数数组类型,因此无法利用ORM。使用整数数组列查询有什么慢点吗?无论我将其存储为字符串数组还是整数数组都是第二件事。

需要帮助以使其高效。

解决方法

在您的情况下,数组是最好的方法就将用它来检查产品在该区域是否可用

此外,如果您打算进行其他常规操作,即要获得适用于特定PINCODE等产品的产品列表,则不应采用这种方法。您应该进行适当的规范化,并将关系保留在单独的表中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...