问题描述
我在Postgres数据库中有产品表。.我必须根据用户的密码显示产品,以了解该产品在该地区是否可用。因此,我必须存储每种产品的密码。 每个产品最多可以有12000个密码。
所以我的问题是将pincode作为具有索引的主产品表中的数组列类型存储,还是使用花费JOIN查询的单独表是有效的。
据我了解,存储在数组列中是高效的,因为必须在具有并行1000个用户的过滤器/搜索中(有时)在列表中显示产品。.因此,与之相比,联接表会太繁重。但是这样做,我必须对所有与产品相关的事物进行本机查询,因为Spring Boot JPA不支持整数数组类型,因此无法利用ORM。使用整数数组列查询有什么慢点吗?无论我将其存储为字符串数组还是整数数组都是第二件事。
需要帮助以使其高效。
解决方法
在您的情况下,数组是最好的方法就将用它来检查产品在该区域是否可用。
此外,如果您打算进行其他常规操作,即要获得适用于特定PINCODE等产品的产品列表,则不应采用这种方法。您应该进行适当的规范化,并将关系保留在单独的表中。