[英]how can I run a group by query on a jsonb column with a gin index in postgresql?
我有一個表,其中有一列名為 data 的格式為 jsonb。 我在此列上創建了 gin 索引。
我想讓 postgres 在執行 group by 子句時使用 gin 索引。 此查詢的正確語法是什么? 這是來自數據列的示例條目
{"firstname": "Bob", "lastname": "Smith", "home_zip": "11234"}
我試過這個,但是當我運行這個查詢時,它 postgres 不使用 gin 索引。
explain analyze select data#>'{home_zip}',count(*) from contacts group by data#>'{home_zip}'
Gin 索引不支持can_order
,因此不能用於加速 group by(除了通過加速為 GROUP BY 提供數據的 WHERE 子句)。
您可以通過以下方式使用表達式索引來加速:
create index on contacts btree ((data #> '{home_zip}'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.