zoukankan      html  css  js  c++  java
  • postgresql大数据查询加索引和不加索引耗时总结

    1、创建测试表

    CREATE TABLE big_data
    (
      id character varying(50) NOT NULL,
      name character varying(50),
      datetime timestamp with time zone,
      CONSTRAINT big_data_pkey PRIMARY KEY (id)
    )
    WITH (
      OIDS=FALSE
    );
    ALTER TABLE big_data
      OWNER TO postgres;

    2、创建插入数据函数

    CREATE OR REPLACE FUNCTION insert_bigdata()
      RETURNS text AS
    $BODY$
    declare ii integer;
    declare jj integer;
    begin

        ii = 1;
        jj = 1;
        FOR ii IN 1..10 LOOP
            FOR jj IN 1..10000 LOOP
                INSERT INTO big_data values(uuid_generate_v4(), 'lisi'||jj, now());
            END LOOP;
        END LOOP;
        RETURN 'success';
    end;
    $BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    ALTER FUNCTION insert_bigdata()
      OWNER TO postgres; 

    3、插入一千万条数据(修改函数中的循环次数,多执行几次,插入需要的数据)

    select insert_bigdata();

    4、给name字段不加索引和加索引分别统计执行时间

    查询结果10条记录

    select * from big_data where name='lisi10';

    查询结果100条记录
    select * from big_data where name='lisi100';

    查询结果1000条记录
    select * from big_data where name='lisi1000';

    查询结果10000条记录
    select * from big_data where name='lisi10000';

    查询结果100000条记录
    select * from big_data where name='lisi100000';

    耗时统计表(单位/毫秒)

     

    耗时统计图

     

    5、结果总结

    在查询结果小于1000条记录时,加索引会大幅度提高查询效率。

    在查询结果大于1000条记录时,加索引对查询效率的提升逐渐减小,尤其是超过10000条时,使用索引后的查询时间也比较长。

    当前结果仅适用于创建的big_data这张数据表(如果数据表中字段比较多,数据量比较大,会在更小的查询结果记录数出现加索引查询效率提升不明显的问题)。
    ————————————————
    版权声明:本文为CSDN博主「朔语」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/shuoyu816/article/details/82793968

  • 相关阅读:
    【C语言天天练(三)】typedef具体解释
    操作系统之基本分页存储管理方式
    线索二叉树创建及删除
    SVN:This client is too old to work with working copy…解决的方法
    android4.2 telephone应用层分析
    JPA学习笔记(3)——JPA注解
    Android研发中对String的思考(源代码分析)
    《Effective Modern C++》翻译--条款2: 理解auto自己主动类型推导
    “2014年CityEngine三维建模与设计精英培训班”——全国巡回举办
    Git命令总结
  • 原文地址:https://www.cnblogs.com/telwanggs/p/11651846.html
Copyright © 2011-2022 走看看