带有索引的postgresql-jsonb不区分大小写查询



我一直在寻找一种不区分大小写的查询方法,我在这里找到了它(postgresql-jsonb不区分大小字母的查询(,更确切地说,使用这样的查询:select ... where upper(data::text)::jsonb @> upper('[{"city":"New York"}]')::jsonb

然而,我似乎找不到足够的关于如何创建这样一个查询所使用的索引的信息。

where data::text @> '[{"city":"New York"}]'

与GIN索引完美配合

CREATE INDEX i1 ON mytable USING gin(data);

但是上(…(函数将触发成本太高的全扫描。

提前谢谢。

您需要索引完整的表达式:

CREATE INDEX ON tab USING gin ((upper(data::text)::jsonb));

相关内容

  • 没有找到相关文章

最新更新