【发布时间】:2019-08-03 05:57:33
【问题描述】:
这可能是一个显而易见且简单的问题。
但我通读了jsonb 数据类型documentation,但没有提到jsonb 数据中键的查找成本。
例如,假设我有一个具有以下架构的表:
CREATE TABLE A (id character varying (20),
info jsonb);
我想知道 postgres 将如何解析 where 查询,如下所示:
SELECT * FROM A WHERE info->>'city' = 'portland';
在遍历一行的 jsonb 字段时,该 jsonb 数据字典中的查找常量时间 (O(1)) 还是线性时间(逐个检查行的 jsonb 字典中的每个键)?
我的直觉是它必须是恒定的时间(否则字典样式数据的意义何在?)但我无法在官方文档中看到它来说服我的团队。
任何帮助都会很棒!
谢谢!
【问题讨论】:
标签: postgresql jsonb