【发布时间】:2015-11-28 16:23:40
【问题描述】:
我整个早上都在尝试在 jsonb 文档上创建索引,但我看不到索引有任何好处。
我的桌子:
CREATE TABLE modelling.triangle(id serial, data JSONB)
这是我的插入:
INSERT INTO modelling.triangle(data)
SELECT
json_build_object(
'x', generator.x,
'y', generator.y,
'array', generator.array_data)::jsonb
FROM (
SELECT
generate_series(1,10000) x,
generate_series(1,10000) y,
array_to_json(array_agg(array_elements)) array_data
FROM (
SELECT
generate_series(1,99) as key,
generate_series(1,99) as value
) array_elements
) as generator
还有索引:
CREATE INDEX idxgintags ON modelling.triangle USING gin ((data -> 'x') jsonb_path_ops);
然后选择:
EXPLAIN ANALYZE
SELECT data->'array'
FROM modelling.triangle
WHERE data@>'{"x":10}'
谢谢。
【问题讨论】:
标签: json performance postgresql indexing