Thread

  1. Performance Issue when using gin index

    谭忠涛 <zhongtao.tan@seaboxdata.com> — 2025-01-21T02:30:24Z

    The performance of creating a gin index before inserting data is different from that of inserting data after creating a gin index.
    Case:
    -- first make pg_trgm
    create extension pg_trgm;
    create table t1(a int, b varchar(20));
    create index t1_b on t1 using gin(b gin_trgm_ops);
    insert into t1 select a, a || substr('abcdefg', (random()*100000)::int%10000, 10) || a from generate_series(1,100000) t(a);
    analyze t1;
    explain analyze select * from t1 where b like '%abc%'; -- slow
    reindex index t1_b;
    explain analyze select * from t1 where b like '%abc%'; --&nbsp;normal
    
    
    
    
    
    Regards
    
    
    
    谭忠涛&nbsp; &nbsp;数据研究院数据库事业部
    北京东方金信科技股份有限公司
    地址:海淀区知春路7号致真大厦 D 座 14 层
    路线:地铁10号线-西土城站-A口
    手机:13920129934
    公众号:东方金信
    网址:www.seaboxdata.com
    关于东方金信
    &nbsp; &nbsp; 北京东方金信科技股份有限公司成立于2013年2月。公司拥有ISO9001、 ISO27001和CMMI5级认证;中国大数据企业50强;首批通过工信部数据中心联盟大数据基础能力和性能双认证;首个国家信息中心“数据资产研究中心”授牌单位;全国信标委智慧城市及大数据标准工作组成员,2017年入选Gartner全球大数据行业和人工智能报告;2019年与腾讯云成为战略合作伙伴并获腾讯数亿元投资;2020年获中金、海淀区国资委入股。
  2. Re: Performance Issue when using gin index

    Tom Lane <tgl@sss.pgh.pa.us> — 2025-01-21T03:01:40Z

    "=?utf-8?B?6LCt5b+g5rab?=" <zhongtao.tan@seaboxdata.com> writes:
    > The performance of creating a gin index before inserting data is different from that of inserting data after creating a gin index.
    
    This isn't terribly surprising.  Read
    
    https://www.postgresql.org/docs/current/gin.html#GIN-FAST-UPDATE
    
    There's also useful info in
    
    https://www.postgresql.org/docs/current/gin.html#GIN-TIPS
    
    			regards, tom lane