我有一个postgres表,其中有一个jsonb列,其中包含我们要查询的列表.Jsonb列数据如下所示:
{"org": 3, "subscriberCodes": ["A555", "A666"]}
我希望能够对表进行查询,以按订户代码进行搜索.
我知道我可以做一个LIKE查询:
SELECT *
FROM permissions.application_settings
WHERE configuration->>'subscriberCodes' LIKE '%A555%'
但这有几个问题,我必须按订户代码触发查询(我试图弄清楚如何执行WHERE IN子句,但不太清楚),结果是对整个表进行顺序扫描(对于我们拥有的记录数量来说,这不是很好).
我对jsonb还不是很在行.有没有一种方法可以执行WHERE IN子句,并可能在订户代码数组上创建索引,以便不需要顺序扫描?