Postgres 数组列与 JSONB 列

Postgres Array column vs JSONB column

Postgres 数组列是否比包含 JSON 数组的 JSONB 列更容易索引?

https://www.postgresql.org/docs/current/arrays.html

https://www.compose.com/articles/faster-operations-with-the-jsonb-data-type-in-postgresql/

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

where jsonbcolumn ? 'abc';

where textarraycolumn @> ARRAY['abc']

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

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