我是靠谱客的博主 老实乌龟,最近开发中收集的这篇文章主要介绍MYSQL创建百万级测试数据表方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

方法一:使用java程序生成,一次insert。

注:user表的id为自动增长,所以insert可以不带id

public class MyThread extends Thread {
	public void run() {
		String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8";
		String name = "com.mysql.jdbc.Driver";
		String user = "root";
		String password = "111";
		Connection conn = null;
		try {
			Class.forName(name);
			conn = DriverManager.getConnection(url, user, password);// 获取连接
			conn.setAutoCommit(false);// 关闭自动提交,不然conn.commit()运行到这句会报错
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		Long begin = new Date().getTime();
		String prefix = "INSERT INTO user(name,age,sex) VALUES ";
		try {
			// 保存sql后缀
			StringBuffer suffix = new StringBuffer();
			// 设置事务为非自动提交
			conn.setAutoCommit(false);
			// 比起st,pst会更好些
			PreparedStatement pst = (PreparedStatement) conn.prepareStatement("");// 准备执行语句
			// 外层循环,总提交事务次数
			for (int i = 1; i <= 1; i++) {
				suffix = new StringBuffer();
				// 第j次提交步长
				for (int j = 1; j <= 2; j++) {
					String names = "用户" + i + j ;
					suffix.append("('" + names + "'" + ",'" + j + "'" + ",'男'),");
				}
				String sql = prefix + suffix.substring(0, suffix.length() - 1);
				pst.addBatch(sql);
				pst.executeBatch();
				// 提交事务
				conn.commit();
				suffix = new StringBuffer();
			}
			pst.close();
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		Long end = new Date().getTime();
		System.out.println("100万条数据插入花费时间 : " + (end - begin) / 1000 + " s" + "  插入完成");
	}
	public static void main(String[] args) {
		new MyThread().start();
	}
}

方法二: 使用存储过程

BEGIN
  declare i BIGINT default 0;
  while i<number DO
		insert into user(id, name, age, sex) values(i,'333333',25,'男');
		set i=i+1;
	end while;
END

最后调用此存储过程:

call insertFc(number)  
 (insertFc是此存储过程的名字,number为具体的数字,
 例如要插入100 0000 条数据就是call insertFc(1000000))

最后

以上就是老实乌龟为你收集整理的MYSQL创建百万级测试数据表方法的全部内容,希望文章能够帮你解决MYSQL创建百万级测试数据表方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部