gpt4 book ai didi

postgresql - Postgres jsonb 'NOT contains' 运算符

转载 作者:行者123 更新时间:2023-11-29 11:12:31 25 4
gpt4 key购买 nike

我正在试验 postgres jsonb 列类型,到目前为止一切顺利。我使用的一个常见查询是这样的:

select count(*) from jsonbtest WHERE attributes @> '{"City":"Mesa"}';

我该如何扭转它?是否有不同的运算符或它只是用作

select count(*) from jsonbtest WHERE NOT attributes @> '{"City":"Mesa"}';

最佳答案

两种方式,你可以测试任何 json(b) 值

  • ->>运算符将值提取为文本。但是这个操作比较慢,如果你会使用这个值只有测试一下
  • @>运算符测试任何 json(b) 包含任何 json(b)。这是一个快速但您未经过测试的 NOT 选项。

简单快捷的方法:

NOT (attribute @> '{"City":"Mesa"}'::jsonb)

我改变了attribute->>'City' <> 'Mesa'NOT (attribute @> '{"City":"Mesa"}'::jsonb)我的 ~2.000.000 行查询结果时间从 45 秒变为 25 秒。

关于postgresql - Postgres jsonb 'NOT contains' 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39736076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com