美文网首页
postgresql 普通表 内存表 无日志表 的性能对比

postgresql 普通表 内存表 无日志表 的性能对比

作者: Iamveryrich | 来源:发表于2017-12-08 17:20 被阅读0次

结论:

       与普通表比较,内存表的性能提升不明显;

       与普通表比较,无日志表在插入时性能提高约1倍、更新和删除时提高约40%;

测试环境:

1,准备

创建普通表:

drop table if EXISTS db_stream.t_aj_tj_general;

create table db_stream.t_aj_ tj_general

(

n_bh int8,

c_ah varchar(100),

n_jbfy int,

c_larq varchar(20),

c_jarq varchar(20),

n_ay  int,

n_sl int,

d_updatetime TIMESTAMP

);

创建内存表:

create tablespace ramdis location '/dev/shm';

drop table t_aj_tj_ram;

create table t_aj_tj_ram  TABLESPACE ramdis as select * from t_aj_tj_general ;

创建无日志表:

drop table t_aj_tj_unlogged;

create unlogged table t_aj_tj_unlogged as select * from t_aj_tj_general ;

创建内存表+无日志表:

drop table t_aj_tj_ramunlogged;

create unlogged table t_aj_tj_ramunlogged  TABLESPACE ramdis as select * from t_aj_tj_general ;

2,批量插入对比

普通表

truncate table t_aj_tj_general;

insert into t_aj_tj_general  select generate_series(1,5000000),'yy',664,'2017-12-08','2017-12-08',9533,1,now();

14.343s

无日志表

truncate table t_aj_tj_unlogged;

insert into t_aj_tj_unlogged select generate_series(1,5000000),'yy',664,'2017-12-08','2017-12-08',9533,1,now();

7.277s

内存表

truncate table t_aj_tj_ram;

insert into t_aj_tj_ram select generate_series(1,5000000),'yy',664,'2017-12-08','2017-12-08',9533,1,now();

13.881s

无日志+普通表

truncate table t_aj_tj_ramunlogged;

insert into t_aj_tj_ramunlogged select generate_series(1,5000000),'yy',664,'2017-12-08','2017-12-08',9533,1,now();

7.153s

3,逐条插入/更新/删除对比(编写Java程序单线程每插入/更新/删除 一提交)

相关文章

  • postgresql 普通表 内存表 无日志表 的性能对比

    结论: 与普通表比较,内存表的性能提升不明显; 与普通表比较,无日志表在插入时性能提高约1倍、更新和删...

  • Mysql生成百万测试数据存储过程编写

    一、编写工具函数: 二、创键普通表和内存表 三、创建插入内存表数据的存储过程 四、创建内存表数据插入普通表的存储过...

  • PostgreSQL 高级

    1. 视图 在 PostgreSQL 中, 视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询 。...

  • mysql导入百万数据测试

    1、生成思路利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表...

  • 表的设计

    :普通表的不足 1)表的更新有日志开销 2)表的DELETE不彻底 () 3)大表查询慢 4)索引...

  • 【20002】Sql Server 常用语法、常用语句

    性能检测语句 临时表 临时表在SysObjects表里是找不到的 本地临时表创建临时表和创建普通表一样,只需要给名...

  • 数据库篇

    2018.07.04 postgresql查询表的大小 数据库中单个表的大小(不包括索引) postgresql的...

  • postgresql----COPY之表与文件之间的拷贝

    postgresql----COPY之表与文件之间的拷贝 postgresql提供了COPY命令用于表与文件(和标...

  • Flink多流和和维表实现对比

    维表方案对比 header 1预加载DB数据到内存Distrbuted Cache热存储关联广播维表Tempora...

  • MySQL的临时表

    内存表与临时表的区别 内存表,指的是使用 Memory 引擎的表,建表语法是 create table … eng...

网友评论

      本文标题:postgresql 普通表 内存表 无日志表 的性能对比

      本文链接:https://www.haomeiwen.com/subject/zueeixtx.html