KADB heap表VS AO表插入数据测试

news2024/9/8 23:13:13

单条插入数据准备:

test=# \d test

            Table "public.test"

 Column |         Type          | Modifiers

--------+-----------------------+-----------

 a      | integer               |

 b      | character varying(20) |

Distributed by: (a)

test=# insert into test values(generate_series(1,50000),'aaaaaaaaaa');

INSERT 0 50000

pg_dump -Fp -ftest.sql --inserts test –ttest

INSERT INTO public.test VALUES (1, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (5, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (11, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (12, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (14, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (15, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (17, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (20, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (23, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (25, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (26, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (30, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (31, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (35, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (36, 'aaaaaaaaaa');

批量加载数据准备:

copy test_heap to '/home/mppadmin/test.dat' delimiter '|';

2|aaaaaaaaaa

1|aaaaaaaaaa

3|aaaaaaaaaa

5|aaaaaaaaaa

4|aaaaaaaaaa

11|aaaaaaaaaa

6|aaaaaaaaaa

12|aaaaaaaaaa

7|aaaaaaaaaa

单条插入测试:

select current_timestamp;

INSERT INTO public.test VALUES (1, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (5, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (11, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (12, 'aaaaaaaaaa');

……

INSERT INTO public.test VALUES (49994, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (49995, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (49996, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (49997, 'aaaaaaaaaa');

INSERT INTO public.test VALUES (49999, 'aaaaaaaaaa');

select current_timestamp;

批量加载测试:

select current_timestamp;

copy test from '/home/mppadmin/test.dat' delimiter '|';

select current_timestamp;

Heap表:

test=# \d+ test_heap

                              Table "public.test_heap"

 Column |         Type          | Modifiers | Storage  | Stats target | Description

--------+-----------------------+-----------+----------+--------------+-------------

 a      | integer               |           | plain    |              |

 b      | character varying(20) |           | extended |              |

Distributed by: (a)

单条插入:

2024-07-29 22:25:19 ~ 2024-07-29 22:25:58

批量插入:

2024-07-29 22:39:58.597309+08 ~ 2024-07-29 22:39:58.81317+08

AO表:

test=# \d+ test

                                                Append-Only Columnar Table "public.test"

 Column |         Type          | Modifiers | Storage  | Stats target | Compression Type | Compression Level | Block Size | Description

--------+-----------------------+-----------+----------+--------------+------------------+-------------------+------------+-------------

 a      | integer               |           | plain    |              | zlib             | 5                 | 32768      |

 b      | character varying(20) |           | extended |              | zlib             | 5                 | 32768      |

Checksum: t

Distributed by: (a)

Options: appendonly=true, compresstype=zlib, compresslevel=5, orientation=column

单条插入:

2024-07-29 22:31:37 ~ 2024-07-29 22:33:29

批量插入:

2024-07-29 22:41:53.848749+08 ~ 2024-07-29 22:41:53.970006+08

结论:

  1. Heap表单条插入50000条用时:39s
  2. AO表单条插入50000条用时:112s
  3. Heap表批量插入50000条用时:<1s
  4. AO表批量插入50000条用时:<1s

插入效率:批量 < heap表单条插入 < AO表单条插入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1957641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】基础语法(上)

本篇文章讲解以下知识&#xff1a; &#xff08;1&#xff09;初始编码 &#xff08;2&#xff09;输出 &#xff08;3&#xff09;初识数据类型 一&#xff1a;初识编码 在计算机中所有的数据本质上都是以0和1的组合来存储。 比如&#xff1a;在一个文件中有以下内容&am…

力扣SQL50 上级经理已离职的公司员工 一题双解

Problem: 1978. 上级经理已离职的公司员工 Code -- 方法 1 -- select e1.employee_id -- from employees e1 -- left join employees e2 -- on e1.manager_id e2.employee_id -- where e1.salary < 30000 -- and e1.manager_id is not null -- and e2.employee_id is…

SpringBoot 整合 Redis 实现验证码登录功能

一、整合Redis 在pom.xml中添加Redis相关依赖&#xff1b; <!--Spring Data Redis依赖配置--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>…

103.qt qml-最全Table新增下拉复制功能

在上篇文章102.qt qml-最全Table交互之多列固定、行列拖拽、自定义委托、标题交互使用教程_qt 表格控件 拖动列-CSDN博客 我们实现了大部分功能,所以本章实现下拉复制功能。 demo截图如下所示: 支持跨界复制,如果下拉的位置大于Table则会动画向下移动,具体可以参考视频链接…

颠覆未来计算!CRAM技术摒弃冯·诺依曼模型,20年研究终迎突破

未来科技&#xff1a;AI计算需求激增&#xff0c;数据中心耗电量堪比派对狂饮&#xff01;明尼苏达大学研究团队或携革命性设备&#xff0c;以惊人能效解决AI能耗难题&#xff01; 研究人员设计了一种新型的"计算随机存取存储器"&#xff08;CRAM&#xff09;原型芯…

查看路由表 netstat -r

“Kernel IP routing table” 是Linux系统中用于展示和配置IP路由的表。它告诉操作系统如何将数据包从一个网络接口发送到另一个网络或主机。下面是对您给出的路由表条目的解释&#xff1a; Destination&#xff1a;目的地地址&#xff0c;可以是具体的IP地址&#xff0c;也可…

Codeforces 962 div3 A-F

A 题目分析 签到 C代码 #include<iostream> using namespace std; int main(){int t;cin>>t;while(t--){int n;cin>>n;cout<<n/4n%4/2<<endl;} } B 题目分析 将n*n的方格分成若干个k*k的方格&#xff0c;每个k*k的方格中所有的数都相同 遍历…

小主机SSD固态硬盘选购攻略,希捷酷鱼 530 SSD固态硬盘表现优秀【附系统无损迁移教程】

小主机SSD固态硬盘选购攻略&#xff0c;希捷酷鱼 530 SSD固态硬盘表现优秀【附系统无损迁移教程】 哈喽小伙伴们好&#xff0c;我是Stark-C~ 这几年随着以零刻为首的小主机市场的兴起&#xff0c;小主机相关的配置周边需求也是越来越大&#xff0c;就比如说SSD固态硬盘就是其…

爬虫程序在采集亚马逊站点数据时如何绕过验证码限制?

引言 在电商数据分析中&#xff0c;爬虫技术的应用日益广泛。通过爬虫技术&#xff0c;我们可以高效地获取大量的电商平台数据&#xff0c;这些数据对于市场分析、竞争情报、价格监控等有着极其重要的意义。亚马逊作为全球最大的电商平台之一&#xff0c;是数据采集的重要目标…

Nacos-微服务注册中⼼(Nacos简介 Nacos配置管理)

目录 一、 微服务的注册中⼼ 1. 注册中⼼的主要作⽤ 2. 常⻅的注册中⼼ 二、Nacos简介 nacos实战⼊⻔ 1. 搭建nacos环境 2.将订单微服务注册到nacos 2.1 在pom.xml中添加nacos的依赖 2.2 在主类上添加EnableDiscoveryClient注解 2.3 在application.yml中添加nacos服…

如何在Linux上构建Raspberry Pi虚拟环境

目录 前置环境需求 Older Version 新版本启动 下面我们来讲讲如何使用QEMU来仿照树莓派环境。这里首先先分成两大类。第一类是跑比较老的&#xff0c;安全性较低的老树莓派&#xff0c;主要指代的是22年4月份发布之前的版本&#xff0c;这个版本当中&#xff0c;树莓派镜像自…

Layui表格合并、表格折叠树

1、核心代码&#xff1a; let tableMerge layui.tableMerge; // 引入合并的插件&#xff0c;插件源文件在最后let tableData [{pid: 0,cid: 111,sortNum: 1, // 序号pName: 数据父元素1,name: 数据1,val: 20,open: true, // 子树是否展开hasChild: true, // 有子数据opt: 数据…

昇思25天学习打卡营第1天 | 快速入门教程

昇思大模型平台&#xff0c;就像是AI学习者和开发者的超级基地&#xff0c;这里不仅提供丰富的项目、模型和大模型体验&#xff0c;还有一大堆经典数据集任你挑。 AI学习有时候就像找不到高质量数据集的捉迷藏游戏&#xff0c;而且本地跑大数据集训练模型简直是个折磨&#xf…

react css module 不生效问题记录

背景&#xff1a;自己使用webpackreactcssless配置的项目框架&#xff0c;在使用过程中发现css module引入不生效。 import React from react import styles from ./index.module.less console.log(styles)//输出 undefinedwebpack配置了css-loader,less-loader,webpack默认cs…

Linux系统之dns服务配置

要求&#xff1a;DNS服务器域解析 www. 11zzj.com为192.168.11.1; ftp.11zzj.com 为192.168.11.2; mail.11zzj.com 为172.16.11.20; 1.打开Linux6&#xff08;服务器&#xff09;和Linux5&#xff08;客户端&#xff09; 配置IP地址和DNS 地址&#xff0c;并ping通。…

PSINS工具箱函数介绍——kfinit

kfinit是kf的参数初始化函数&#xff0c;用于初始化滤波参数 本文所述的代码需要基于PSINS工具箱&#xff0c;工具箱的讲解&#xff1a; PSINS初学指导基于PSINS的相关程序设计&#xff08;付费专题&#xff09; 使用方法 kfinit这个函数的字面意思是&#xff1a;kf的初始化…

游戏制作中没想明白的事情

当一个备忘录&#xff0c;有的是还没有时间去深入研究&#xff0c;或者没有从头了解 什么是建模绑定&#xff1f;为什么人物建模&#xff0c;初始化都是双手打开的&#xff1f;平着放武器&#xff0c;但运行的时候武器会自动竖起来&#xff0c;这是怎么做到的&#xff1f; 思…

嵌入式学习Day13---C语言提升

目录 一、二级指针 1.1.什么是二级指针 2.2.使用情况 2.3.二级指针与数组指针 二、指针函数 2.1.含义 2.2.格式 2.3.注意 2.4.练习 三、函数指针 3.1.含义 3.2.格式 3.3.存储 3.4.练习 ​编辑 四、void*指针 4.1.void缺省类型 4.2.void* 4.3.格式 4.4.注…

RocketMQ的详细讲解(四种mq的对比(activeMq、rabbitmq、rocketmq、kafka))

20240729 RocketMQ1 mq的三大作用 异步、削峰限流、解耦合2. 四种mq的对比&#xff08;activeMq、rabbitmq、rocketmq、kafka&#xff09;3 rocketmq特点1. 平台无关2. 能提供什么样的功能 4 rocketMq4.1 broker中的标题&#xff0c;来约束读和写4.2 rocketmq的结构4.3 读和写的…

AJAX概念与axios使用

一、什么是AJAX&#xff1f; 定义&#xff1a;AJAX 是异步的 JavaScript和XML(Asynchronous JavaScript And XML)。简单点说&#xff0c;就是使用XMLHttpRequest 对象与服务器通信。 它可以使用 JSON&#xff0c;XML&#xff0c;HTML 和 text 文本等格式发送和接收数据。AJAX最…