pg 快速造1000w测试数据

一个 有1000w 数据的产品表:

-- Table: public.product
-- DROP TABLE public.product;
CREATE TABLE public.product
(id bigint NOT NULL,name character varying(30) COLLATE pg_catalog."default" NOT NULL,price numeric(30,6) NOT NULL,created_at time without time zone NOT NULL,comment text COLLATE pg_catalog."default",CONSTRAINT product_pkey PRIMARY KEY (id)
)
WITH (OIDS = FALSE
)
TABLESPACE pg_default;ALTER TABLE public.productOWNER to postgres;
COMMENT ON TABLE public.productIS '产品表';

创建一个 获取随机字符串的函数; 执行一下就好;

create or replace function f_random_str(length INTEGER)
returns character varying AS $$
DECLAREresult varchar(50);
BEGINSELECT array_to_string(ARRAY(SELECT chr((65 + round(random() * 25)) :: integer)FROM generate_series(1,length)), '') INTO result;return result;
END;
$$ LANGUAGE plpgsql;

造1000w数据, 大概需要5分钟;

insert into product
select
generate_series(1,10000000),
f_random_str(12) ,
(random()*(1000))::decimal,
clock_timestamp(),
md5(random()::text)

造1000w 数据(有中文的成绩表)

-- 生成指定长度的字符串
create or replace function f_random_str(length INTEGER)
returns character varying AS $$
DECLAREresult varchar(50);
BEGINSELECT array_to_string(ARRAY(SELECT chr((65 + round(random() * 25)) :: integer)FROM generate_series(1,length)), '') INTO result;return result;
END;
$$ LANGUAGE plpgsql;-- 随机中文
create or replace function gen_hanzi(int) returns text as $$
declareres text;
beginif $1 >=1 thenselect string_agg(chr(19968+(random()*20901)::int), '') into res from generate_series(1,$1);return res;end if;return null;
end;
$$ language plpgsql strict;-- 创建测试表
create table testdata(id integer,name varchar(20),course int,grade numeric(4,2),testtime date,note text);-- 插入测试数据
insert into testdata
select generate_series(1,10000000) as id,
f_random_str(3+(random()*5)::integer) as name,
(random()*100)::integer as course,
(random()*99)::numeric(4,2) as grade,
now() - ((random()*1000)::integer||' day')::interval as testtime,
gen_hanzi(3+(random()*5)::integer) as note;

pg 快速造1000w测试数据相关推荐

  1. mysql 快速造数据sql

    生产库表数据导入开发库 重复数据处理 步骤: 导出生产库表 advertiser,在开发库里新建同样的表命名为 advertiser_copy,把导出的advertiser.sql文件表名全部修改成 ...

  2. 【Salesforce】快速清除所有测试数据的方法,截断(Truncate)对象

    [Salesforce]快速清除所有测试数据的方法,截断(Truncate)对象 文章目录 [Salesforce]快速清除所有测试数据的方法,截断(Truncate)对象 场景 截断功能简介 使用方 ...

  3. mpp新增一个字段_如何快速新增百万测试数据?

    柠檬班的APP上线之前,需要一百万个学员的信息进行压力测试. 那么数据从哪里来呢?直接找开发帮忙?可能会被他鄙视! 一条一条去insert?嗯,算了下大概需要20年! 不用怕,Happy老师接下来教你 ...

  4. MySQL快速生成大量测试数据1000万

    #建测试表 CREATE TABLE t (id int NOT NULL AUTO_INCREMENT PRIMARY KEY comment '自增主键', dept tinyint not nu ...

  5. 如何快速新增百万测试数据?

    XXX的APP上线了, 现需要一百万个学员的信息进行压力测试, 那么数据从哪里来呢? 直接找开发帮忙? 可能会被他鄙视! 一条一条去insert? 嗯,算了下大概需要20年! 不用怕,Happy老师接 ...

  6. MySQL快速生成大量测试数据(100万、1000万、1亿)

    这种做法生成的测试数据相对比较符合实际,注册时间和最后登录时间都既有一定的时间顺序,又有在时间区间内有随机生成,代码都有注释,这里就不多说了,代码如下: #建测试表 drop table if exi ...

  7. MySQL 快速造数 mysql_random_data_load

    安装 mysql_random_data_load GitHub 地址 wget -q https://github.com/Percona-Lab/mysql_random_data_load/re ...

  8. python jdbc_javapython连接mysql快速造数

    JAVA 环境: MySQL:mysql-essential-5.1.51-win32 jdbc驱动:百度 Eclipse:百度 1.创建数据库 mysql>CREATE DATABASE te ...

  9. java mysql 快速插入1000w条数据_教你88秒插入1000万条数据到mysql数据库表

    我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...

最新文章

  1. 利用CxImage实现编解码Gif图像代码举例
  2. 开源 java CMS - FreeCMS2.8 自定义标签 siteOne
  3. 宣告放弃社交后,支付宝把希望放在了“信息流”上
  4. mysql的字段空格是null_MySQL中NULL与空字符串 空格问题
  5. C语言90道试题资料
  6. 计算机网络可以把在区域上分散的单个,计算机网络技术及应用课后习题
  7. 迁移上云方法论-6R
  8. atom-design(Vue.js移动端组件库)手势组件介绍
  9. 数学--数论--莫比乌斯反演
  10. fan怎么写 jin_拼音为fan的字
  11. Java面向对象的三大特征(封装,继承,多态)
  12. ajax 表格删除,jQuery AJAX删除只捕获第一个表格
  13. 【干货】借助用户画像解决电商业务问题.pdf(附下载链接)
  14. 智能优化算法:哈里斯鹰算法-附代码
  15. 【记录】C++中的位域
  16. 导航栏隐藏的正确方式
  17. 刘帅嵌入式系统-ORR逻辑或操作指令
  18. BAPI_PO_CREATE1--单价增大10倍问题
  19. matlab xcorr lags,[转载]matlab中xcorr的用法
  20. python实现翻转金字塔图案

热门文章

  1. 转载:2016.3.15 回忆录
  2. line-height的使用方式
  3. 与计算机有关的技能,计算机类
  4. SXSSFWorkbook 表格内换行
  5. 电脑开机后无法启动出现的0xc0000428错误
  6. CSS,font-family,好看常用的中文字体
  7. 盘点百位富豪读过的大学:土鳖比海龟更有优势
  8. 017_编写一个点名器脚本
  9. Java在线打开编辑PPT文档
  10. c语言实现定积分运算