欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql单表快速生成100万条数据

程序员文章站 2024-03-19 18:40:04
...

经过测试发现存储过程很慢

本文采用生成文本文件,再导入文本文件的方法


import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @author yang
 * @Title: TestMain.java
 * @Package 
 * @Description: 
 * @date 2018年11月21日 9:41
 */
public class TestMain {

    public static void main(String[] args) {
        try {
            // 也可以相对路径, 
            File writeName = new File("C:\\Users\\admin\\Desktop\\log.txt"); 
            //如果没有则要建立一个新的log.txt文件
            writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
            try (FileWriter writer = new FileWriter(writeName);
                 BufferedWriter out = new BufferedWriter(writer)
            ) {
                for (int i= 1;i<1020304;i++){
                    out.write(i+"\t"+  //自增主键
                            "192.168.4.36"+"\t"+
                            "admin_"+i+"\t"+
                            "0"+"\t"+
                            "增加测试数据\r\n");
                }
                // 	\t为字段间隔
                //  \r\n即为换行
                out.flush(); // 把缓存区内容压入文件
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }


}

生成文本文件结构如下,对应数据表的每个字段

1	192.168.4.36	admin_1	0	增加测试数据
2	192.168.4.36	admin_2	0	增加测试数据
3	192.168.4.36	admin_3	0	增加测试数据
4	192.168.4.36	admin_4	0	增加测试数据
5	192.168.4.36	admin_5	0	增加测试数据
6	192.168.4.36	admin_6	0	增加测试数据
7	192.168.4.36	admin_7	0	增加测试数据
8	192.168.4.36	admin_8	0	增加测试数据
9	192.168.4.36	admin_9	0	增加测试数据

然后使用MySQL管理工具(下图使用的是SQLyog)导入TXT

mysql单表快速生成100万条数据

 

mysql单表快速生成100万条数据