0
我的工作PostgreSQL的9.6的數據, 我在這裏想取代表的Json關鍵的是jsonb類型從表中的數據, 數據是財產以後的樣子如何獲取PostgreSQL中使用索引由jsonb數據
[{"name": "gp1", "type": "A"}, {"name": "gp2", "type": "A"}, {"name": "gp2", "type": "A"}]
這裏modules是column_name,client_modules是表名。
我使用下面的查詢
create index myindex on client_modules((modules->>'name'));
問題還創建索引是,當我嘗試使用下面的查詢來從表中的數據
SELECT modules FROM client_modules WHERE modules @>'[{"name":"gp1"}]' or modules @> '{"name":"gp1"}';
我能中檢索所需的數據,但在這種情況下,這裏我的plpgsql查詢運行在默認的seqscan索引上,
我也執行腳本
set enable_indexscan = on;
AND
set enable_seqscan = off;
但仍然查詢沒有運行在我的索引上,當我運行查詢時它仍然在默認索引上運行。