MySQL快速生成大量测试数据1000万
发布日期:2021-07-01 02:22:56
浏览次数:2
分类:技术文章
本文共 1247 字,大约阅读时间需要 4 分钟。
#建测试表CREATE TABLE t ( id int NOT NULL AUTO_INCREMENT PRIMARY KEY comment '自增主键', dept tinyint not null comment '部门id', name varchar(30) comment '用户名称', create_time datetime not null comment '注册时间', last_login_time datetime comment '最后登录时间' ) comment '测试表'; #手工插入第一条测试数据,后面数据会根据这条数据作为基础生成insert into t values(1,1,'user_1', '2018-01-01 00:00:00', '2018-03-01 12:00:00');#初始化序列变量set @i=1; #==================此处拷贝反复执行,直接符合预想的数据量===================#执行20次即2的20次方=1048576 条记录#执行23次即2的23次方=8388608 条记录#执行24次即2的24次方=16777216 条记录#......insert into t(dept, name, create_time, last_login_time) select left(rand()*10,1) as dept, #随机生成1~10的整数 concat('user_',@i:=@i+1), #按序列生成不同的name date_add(create_time,interval +@i*cast(rand()*100 as signed) SECOND), #生成有时间大顺序随机注册时间 date_add(date_add(create_time,interval +@i*cast(rand()*100 as signed) SECOND), interval + cast(rand()*1000000 as signed) SECOND) #生成有时间大顺序的随机的最后登录时间from t;select count(1) from t;#==================此处结束反复执行===================== #创建索引(视情况执行)create index idx_dept on t(dept);create index idx_create_time on t(create_time);create index idx_last_login_time on t(last_login_time);
转载地址:https://mapengsen.blog.csdn.net/article/details/108651569 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月25日 18时20分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图书商城:订单模块
2019-05-01
开源全能播放器Vitamio的使用
2019-05-01
使用ViewPager加载页面出现空白
2019-05-01
ImageView scaleType
2019-05-01
RecyclerView notifyItem闪屏问题
2019-05-01
dubbo学习笔记 十二 dubbo-cluster
2019-05-01
dubbo学习笔记 十三 dubbo-filter
2019-05-01
dubbo学习笔记 十一 dubbo-rpc之模块
2019-05-01
motan学习笔记 五 opentracing学习入门
2019-05-01
爬取博客园博客
2019-05-01
什么是Docker?
2019-05-01
一个基于百度云和图灵的人工智能程序
2019-05-01
用两个栈实现队列
2019-05-01
求列表最长子序列
2019-05-01
字符串的排序
2019-05-01
内存分配(mallloc,calloc,realloc,new)
2019-05-01
《计算机网络》 读书笔记(五) 其他杂项
2019-05-01
《计算机网络》 读书笔记(六) 协议比较
2019-05-01
网络编程之 Socket函数 (一)
2019-05-01