arrays - 将 10000 个整数数组值存储为数组列类型性能比较单独的表与 Postgres 中的 JOIN 查询
问题描述
我在 Postgres 数据库中有产品表。我必须根据用户的密码显示产品是否可以在该区域使用。所以为此我必须为每个产品存储密码。每个产品最多可以有 12000 个密码。
所以我的问题是将pincode作为数组列类型存储在带有索引的主产品表中,还是使用单独的表来进行JOIN查询是否有效。
根据我的理解,存储在数组列中是有效的,因为必须在列表中显示具有并行 1000 个用户(有时)的过滤器/搜索的产品。所以与此相比,连接表将太重。但是通过这样做,我必须对所有与产品相关的事情进行本机查询,因为 Spring Boot JPA 不支持整数数组类型,所以不能利用 ORM。使用整数数组列查询是否有任何缓慢?它的第二件事是将它存储为字符串数组还是整数数组..
需要帮助以使其高效。
解决方案
阵列是您方案中的最佳方式,只要您将使用它来检查产品在该区域是否可用。
此外,如果您正在计划任何其他常规操作,即获取可维修的产品列表,特别是 PINCODE 等,那么您不应该采用这种方法。您应该进行适当的规范化并将关系保存在单独的表中。
推荐阅读
- c - 使用 MPI_Type_struct 和 MPI_Bcast 在 C 中通信数据结构
- php - Symfony 表单数据未与自定义表单图像类型主题一起发送
- android - 滑动刷新后删除不更新 RecyclerView 的项目
- windows - 为什么在命令块内定义的环境变量值在块内不可见?
- java - 当主键为 UUID 时,JPA 2 合并正在插入而不是更新
- python - 在正在运行的 docker 容器中的库上命中本地 IDE 断点
- parsing - How to match whitespace and comments with re2c
- python - 如何修复“[rospack] 错误:找不到包‘my_package’”
- ruby-on-rails - rails webpack 编译在生产中挂起 78% [0] 块资产优化 TerserPlugin
- spring - 使用 Spring Security 在 OAuth2 Web 客户端上存储 JWT 令牌