Postgresql杜松子酒索引高cpu使用率

时间:2017-01-26 10:46:03

标签: postgresql jsonb

我设计了一个带有jsonb列的表来存储用户列表,并在该列上设置了一个杜松子酒索引。

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 

1 个答案:

答案 0 :(得分:1)

最后,我发现它是jsonb数据类型问题。

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