Postgresql gin索引高cpu使用率

Postgresql gin索引高cpu使用率,postgresql,jsonb,Postgresql,Jsonb,我设计了一个带有jsonb列的表来存储userlist,并在该列上设置了一个gin索引 select * from table where userlist @> '"Username":"a01"'::josnb 我的数据类型在表中类似 `[{"Username":"a01"},{"Username":"a02"},{"Username":"a03"}....`] 当我进行后端单元测试时,查询速度很快 但是当我编写一个函数来调用这个sp时,我发现它有非常高的cpu使用率问题(几乎10

我设计了一个带有jsonb列的表来存储userlist,并在该列上设置了一个gin索引

select * from table where userlist @> '"Username":"a01"'::josnb
我的数据类型在表中类似

`[{"Username":"a01"},{"Username":"a02"},{"Username":"a03"}....`]
当我进行后端单元测试时,查询速度很快

但是当我编写一个函数来调用这个sp时,我发现它有非常高的cpu使用率问题(几乎100%)

在我抽真空并重新索引这个数据库后,它下降到80%,但仍然很高

我不知道如何减少这个问题。 如果您有任何想法,我期待着您的建议,谢谢

DECLARE @EndCNT;
SET @EndCNT = 10000;

WHILE @EndCNT > 0
BEGIN

SELECT public.query_cust('a01');
SET @EndCNT = @EndCNT - 1;
END 

最后,我发现了jsonb数据类型的问题

如果存储的jsonb数据太长, 当系统将数据加载到内存中时,不可避免地会产生高CPU使用率