暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL创建千万级测试数据

原创 含泪韵心眩 2020-07-01
561

1、首先看一张图片
ae1247f81d1e64c291454140578dba8.jpg
2、根据这个要求进行分析
a、创建表
CREATE TABLE person(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(64) NOT NULL,
birthday TIMESTAMP NOT NULL
) ENGINE = INNODB DEFAULT CHARSET=utf8 ;
b、创建千万级测试数据
1)、用 python或者bash 生成 100w 记录的数据文件(python瞬间就会生成完)
python -c “for i in range(1, 1+1000000): print(i)” > base.txt
c、创建临时表
CREATE TABLE tmp_table (
id INT,
PRIMARY KEY (id)
);
d、导入数据到临时表tmp_table中
Win:
LOAD DATA INFILE ‘C:\Users/gting/Desktop/base.txt’ REPLACE INTO TABLE tmp_table;
linux:
mysql> load data infile ‘/Users/LJTjintao/temp/base.txt’ replace into table tmp_table;
e、将临时表中的数据插入到正式表中
INSERT INTO person
SELECT
id,
CONCAT(‘test’,id),
NOW()
FROM tmp_table;
1593575815.jpg
f、编写相关SQL
SELECT
YEAR(FROM_DAYS(DATEDIFF(NOW(),a.birthday))) AS ‘年龄’,COUNT(*) AS ‘人数’
FROM
person AS a
GROUP BY (YEAR(FROM_DAYS(DATEDIFF(NOW(),a.birthday))));

最后修改时间:2020-07-01 11:58:52
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论