【问题标题】:Postgres Array column vs JSONB columnPostgres 数组列与 JSONB 列
【发布时间】:2023-03-16 09:51:01
【问题描述】:

【问题讨论】:

  • 简单是什么意思?
  • 我想无论是从数据库的努力还是对开发人员的努力
  • 与您的问题无关,但是:Postgres 9.4 是no longer supported,您应该尽快计划升级。

标签: postgresql postgresql-9.4


【解决方案1】:

从语法上讲,JSONB 数组可能更易于使用,因为您不必将查询值包装在虚拟数组构造函数中:

where jsonbcolumn ? 'abc';

where textarraycolumn @> ARRAY['abc']

另一方面,规划器可能会使用 PostgreSQL 数组做出更好的决策,因为它会收集有关其内容的统计信息,但不会收集 JSONB。

此外,您应该阅读您正在使用的 PostgreSQL 版本的文档,该版本希望大于 9.4,实际上应该大于 9.1。

【讨论】:

  • 第二个条件也可以写成where 'abc' = any(textarraycolumn)
  • @a_horse_with_no_name 是的,但该公式不会使用索引。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 2020-04-13
相关资源
最近更新 更多