`
wlh269
  • 浏览: 456361 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

模拟插入1000万条记录

J# 
阅读更多
 /**
   * 测试向一个表part中插入数据
   */
  public static void insertPart(){
	  Connection conn= getConnetion();
	  PreparedStatement pstmt=null;
	try {
		pstmt=conn.prepareStatement("insert into part(part_num,part_desc) values(?,?)");
		for(int i=0;i<10;i++){
			pstmt.setString(1, String.valueOf((int)(Math.random() * 1000)));
			pstmt.setString(2, "零件"+i);
			pstmt.executeUpdate();
		}
		System.out.println("插入成功!");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}finally{
		try {
			pstmt.close();
			close(conn);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
	}
	  
  }
  
  /**
   * 测试向一个表vendor中插入数据
   */
  public static void insertVendor(){
	  Connection conn= getConnetion();
	  PreparedStatement pstmt=null;
	try {
		pstmt=conn.prepareStatement("insert into vendor(vendor_num,vendor_name) values(?,?)");
		for(int i=0;i<10;i++){
			pstmt.setString(1, String.valueOf((int)(Math.random() * 1000)));
			pstmt.setString(2, "厂商"+i);
			pstmt.executeUpdate();
		}
		System.out.println("插入成功!");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}finally{
		try {
			pstmt.close();
			close(conn);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
	}
	  
  }
  
  
  /**
   * 测试向一个表vendor中插入数据
   */
  public static void insertParven(){
	  Connection conn= getConnetion();
	  Statement stmt1=null;
	  Statement stmt2=null;
	  PreparedStatement pstmt=null;
	  ResultSet rs1=null;
	  ResultSet rs2=null;
	  List list1=new ArrayList();
	  List list2=new ArrayList();
	try {
		pstmt=conn.prepareStatement("insert into parven(part_num,vendor_num,PART_AMOUNT)values(?,?,?)");
		stmt1=conn.createStatement();
		stmt2=conn.createStatement();
		rs1=stmt1.executeQuery("select p.part_num from part p");
		rs2=stmt2.executeQuery("select v.vendor_num from vendor v");
		while(rs1.next()){
			list1.add(rs1.getString(1));
		}
		while(rs2.next()){
			list2.add(rs2.getString(1));
		}
		String partnum="";
		String vendornum="";
		
		//向vendor中插入1000万条数据,一秒中能插入1000条,1插入1143379万数据,耗时15分钟
		for(int i=0;i<list1.size();i++){
			for(int j=0;j<list2.size();j++){
				for(int k=0;k<100000;k++){
				partnum=(String)list1.get(i);
				vendornum=(String)list2.get(j);
				pstmt.setString(1, partnum);
				pstmt.setString(2, vendornum);
				pstmt.setInt(3, (int)(Math.random() * 1000));
				pstmt.executeUpdate();
			}
		 }
		}
	
		
		System.out.println("插入成功!");
		
	} catch (SQLException e) {
		e.printStackTrace();
	}finally{
		try {
			pstmt.close();
			rs2.close();
			rs1.close();
			stmt1.close();
			close(conn);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
	}
	  
  }
分享到:
评论

相关推荐

    java向mysql中插入150万条数据比较索引表的优势

    本案例聚焦于150万条数据的插入,并对比了有索引和无索引表的查询效率,以此来突出数据库索引的重要性和优势。在宁夏大学软件工程课程的软件案例分析作业中,这个实验旨在帮助学生理解数据库优化的基本概念。 首先...

    模拟操作安卓adb命令

    7. **日志记录**:`adb logcat` 显示设备的日志信息,可用于调试。 **在手机和PC端安装** 文件通常指的是通过ADB在设备上安装必要的应用程序,比如用于投屏的软件。Total Control是一款强大的安卓设备管理工具,它...

    新东方托业听力全真模拟1000题.zip

    《新东方托业听力全真模拟1000题》是一部专门为备考托业考试的学员设计的听力训练材料。这份资料以ZIP压缩包的形式提供,包含一个名为“新东方托业听力全真模拟1000题.pdf”的PDF文件,旨在帮助考生提升听力理解能力...

    模拟地震记录

    在地震学领域,模拟地震记录是一项重要的研究方法,它对于理解和预测地震活动具有关键作用。初学者通过模拟地震记录的学习,能够深入理解地震波的传播特性、地壳结构以及地震数据处理的基本流程。以下是关于这一主题...

    c# 模拟多客户端程序,可模拟1000+客户端。

    本项目聚焦于使用C#模拟多客户端程序,能够处理超过1000个并发客户端连接,这对于测试服务器的负载能力、性能分析以及分布式系统的设计至关重要。下面将详细介绍这个项目涉及的关键知识点。 1. C#多线程:为了实现...

    新东方托业听力全真模拟1000题

    标题和描述中提到的《新东方托业听力全真模拟1000题》指明了这是一本专门针对托业(Test of English for International Communication)考试的英语听力练习材料。托业考试是全球认可的衡量英语交流能力的标准化考试...

    新东方托业阅读全真模拟1000题.pdf

    根据提供的文件信息,“新东方托业阅读全真模拟1000题.pdf”文件标题和描述指向了一个专门针对托业(Test of English for International Communication)考试的阅读部分模拟题库。托业考试是由美国教育测试服务中心...

    安卓短信彩信相关相关-android模拟短信插入和接收.rar

    本资源“安卓短信彩信相关-android模拟短信插入和接收.rar”提供了一些关于如何在Android环境中模拟短信的插入与接收的代码示例。以下是对这些知识点的详细说明: 1. **短信API**: 安卓系统提供了`SmsManager`类...

    地连墙插入比对深基坑稳定性影响的数值模拟研究

    在施工方法和支护参数一定的条件下,只改变地连墙的插入比,运用FLAC3D数值模拟软件,以地表沉降、地连墙水平位移以及坑底隆起为指标,对太原市地铁2号线中心街西站基坑的稳定性进行了分析。结果表明,地连墙插入比的改变...

    2000年1月1日号生成1000条日期记录,并获取year、month、day导出到excel.rar

    标题中的“2000年1月1日号生成1000条日期记录”指的是在编程或数据处理过程中创建一个包含1000个日期值的序列,这些日期从2000年1月1日开始。这个操作通常用于模拟数据、测试或者数据分析任务。在实际应用中,我们...

    记录并模拟鼠标键盘的动作(C#编写,带源文件)

    几年前喜欢玩游戏,玩“天下二”的时候里面采集资源有很多重复的动作,于是想到写个模拟鼠标和键盘动作的工具,这样我只要记录一遍我的动作,程序就能自己在那儿重复我的动作了,这就是“鼠标键盘执行机”。...

    Android高级应用源码-android模拟短信插入和接收.zip

    3. 使用`ContentResolver`的`insert()`方法:通过ContentResolver,开发者可以调用`insert(Uri, ContentValues)`方法来插入一条新的短信到系统数据库。`Uri`参数应设置为`content://sms/`,`ContentValues`则包含...

    Android代码-android模拟短信插入和接收.rar

    例如,插入一条短信到草稿箱的代码可能如下: ```java ContentValues values = new ContentValues(); values.put(Telephony.Sms._ID, -1); values.put(Telephony.Sms.ADDRESS, "1234567890"); values.put...

    数据插入数据库5种方式工具源码2012825

    数据插入数据库5种方式工具源码 功能描述: 基本Insert Into 单线程Bulk Insert 多线程Bulk Insert 单线程SqlBulkCopy 多线程SqlBulkCopy 试验的5种方法,比较各种方法的导入速度 要把导入的文件放在C盘如:c:\\20...

    可进行多层位地震记录模拟的matlab

    一种用于模拟实现地层记录的matlab原程序代码,很方面简洁。

    通话记录模拟生成程序

    此段程序能自动生成通话记录 主叫+被叫+通话日期+通话时间

    U盾模拟程序

    标题中的“U盾模拟程序”指的是一个软件应用,它的主要功能是模拟银行普遍使用的硬件安全设备——U盾。U盾通常是一种物理设备,用于保护用户的网上银行交易安全,通过数字证书进行身份验证,并且在传输敏感信息时...

    基于JMeter模拟1万个终端设备,进行TCP长连接性能测试1

    在本文中,我们将深入探讨如何使用Apache JMeter进行TCP长连接性能测试,特别是在模拟1万个终端设备场景下。首先,我们需要了解的是物联网(IoT)背景下的设备通信协议,这通常涉及身份认证、数据传输等多个步骤。在这...

    西门子S7-200 SMART实物PLC与Smart 1000 IE V3模拟仿真的具体步骤.docx

    以下是对S7-200 SMART实物PLC与Smart 1000 IE V3模拟仿真的具体步骤的详细说明: 1. **PLC编程准备** - 首先,你需要在编程软件SIMATIC Step 7 Micro/WIN SMART中创建一个新的项目,选择S7-200 SMART SR30作为目标...

Global site tag (gtag.js) - Google Analytics