【问题标题】:Postgresql gin index high cpu usage ratiopostgresql gin index 高cpu使用率
【发布时间】:2017-01-26 10:46:02
【问题描述】:

我设计了一个带有 jsonb 列的表来存储用户列表,并在该列上设置了一个 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 

【问题讨论】:

    标签: postgresql jsonb


    【解决方案1】:

    最后发现是jsonb数据类型的问题。

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

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 2014-07-16
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多