【发布时间】:2020-08-20 11:11:03
【问题描述】:
我已经为 jsonb 列中的字段创建了一个索引:
create index on Employee using gin ((properties -> 'hobbies'))
生成的查询是:
CREATE INDEX employee_expr_idx ON public.employee USING gin (((properties -> 'hobbies'::text)))
我的搜索查询结构如下:
SELECT * FROM Employee e
WHERE e.properties @> '{"hobbies": ["trekking"]}'
AND e.department = 'Finance'
为此查询运行 EXPLAIN 命令给出:
Seq Scan on employee e (cost=0.00..4452.94 rows=6 width=1183)
Filter: ((properties @> '{"hobbies": ["trekking"]}'::jsonb) AND (department = 'Finance'::text))
这样,我不确定索引是否被用于搜索。
整个设置都可以吗?
【问题讨论】:
标签: postgresql indexing jsonb