`
wlh269
  • 浏览: 459554 次
  • 性别: 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();
		}
		
		
	}
	  
  }
分享到:
评论

相关推荐

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

    android 批量插入联系人短信通话记录

    若需要模拟系统行为插入短信,可以创建一个系统服务的AIDL接口,通过这个接口与系统服务交互。这种方式较为复杂,需要深入理解Android系统服务和AIDL。 最后,批量插入通话记录与插入联系人类似,使用`CallLog....

    模拟操作安卓adb命令

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

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

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

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

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

    综合控制系统模拟IO卡测试记录.pdf

    综合控制系统模拟IO卡测试记录.pdf

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

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

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

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

    smbus STM32 IO模拟时序 ti bq芯片调试记录 详细调试文档记录 工程代码

    smbus STM32 IO模拟时序 ti bq芯片调试记录,详细调试文档记录,工程代码,参考博客 https://blog.csdn.net/li171049/article/details/125143807?spm=1001.2014.3001.5501

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

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

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

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

    C#大数据批量插入Access程序

    批量插入是指一次性提交多条记录到数据库,而不是逐条插入。这极大地提高了数据处理效率,减少了网络通信和数据库事务开销。在C#中,我们可以通过DataTable、DataAdapter和Command对象来实现批量插入。 以下是实现...

    Mysql快速生成10000条随机数据(存储过程)脚本

    通过存储过程快速生成实验所需的随机数据,包含创建表,创建存储过程和调用存储过程

    各种排序集合(一千万个数据).zip

    7. **随机数据生成**:为了模拟真实场景,生成的一千万个数据可能是随机的,这有助于检验算法在各种情况下的稳定性和性能。 8. **比较操作和交换操作**:排序算法的性能往往与执行的比较和交换操作次数有关。减少...

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

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

    通话记录模拟生成程序

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

    U盾模拟程序

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

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

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

    abaqus插件cohesive批量插入裂纹损伤断裂 支持裂缝扩展、水力压裂、胶粘界面研究 ABAQUS插件批量插入cohesi

    本插件专注于ABAQUS中的Cohesive单元,特别设计用于批量插入裂纹,这对于模拟复杂的裂缝网络和研究裂缝扩展现象非常有用。无论是二维模型还是三维模型,该插件都能有效处理,大大简化了用户的建模工作。在描述中提到...

Global site tag (gtag.js) - Google Analytics