java insert方法_【Oracle/Java】以Insert ALL方式向表中插入百万条记录,耗时9分17秒...

packagecom.hy;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.text.MessageFormat;/*** 百万数据插入Oracle表中

*@authorhorn1

**/

public classMillionInserter {//连接到数据库的四大属性

private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";private static final String DBURL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";private static final String USER = "system";private static final String PSWD = "XXXX";public void batchInsert(intcount) {

Connection conn= null;

Statement stmt= null;try{long startTime =System.currentTimeMillis();

Class.forName(DRIVER).newInstance();

conn=DriverManager.getConnection(DBURL, USER, PSWD);

stmt=conn.createStatement();int BatchSize=100;int index=0;int times=count/BatchSize;for(int i=0;i

StringBuilder sb=newStringBuilder();

sb.append("INSERT ALL ");for(int j=0;j

index=i*BatchSize+j;

String name="M"+index;int age=j % 100;

String raw=" INTO firsttb(NAME, age,createdtime) values(''{0}'',''{1}'',sysdate) ";

Object[] arr={name,age};

String particialSql=MessageFormat.format(raw, arr);

sb.append(particialSql);

}

sb.append("select * from dual");

String sql=sb.toString();

stmt.executeUpdate(sql);

System.out.println("#"+i+" "+BatchSize+" records inserted");

}long endTime =System.currentTimeMillis();

System.out.println("Time elapsed:" + sec2DHMS((endTime - startTime)/1000) );

String sql= "select count(*) as cnt from firsttb";

ResultSet rs=stmt.executeQuery(sql);while(rs.next()) {

String cnt= rs.getString("cnt");

System.out.println("当前记录数:"+cnt);

}

}catch(Exception e) {

System.out.print(e.getMessage());

}finally{try{

stmt.close();

conn.close();

}catch(SQLException e) {

System.out.print("Can't close stmt/conn because of " +e.getMessage());

}

}

}/*** 将秒转化为日时分秒

*@paramsecondCount

*@return

*/

private static String sec2DHMS(longsecondCount) {

String retval= null;long days = secondCount / (60 * 60 * 24);long hours = (secondCount % (60 * 60 * 24)) / (60 * 60);long minutes = (secondCount % (60 * 60)) / 60;long seconds = secondCount % 60;

String strSeconds="";if(seconds!=0) {

strSeconds=seconds + "s";

}if (days > 0) {

retval= days + "d" + hours + "h" + minutes + "m" +strSeconds;

}else if (hours > 0) {

retval= hours + "h" + minutes + "m" +strSeconds;

}else if (minutes > 0) {

retval= minutes + "m" +strSeconds;

}else{

retval=strSeconds;

}returnretval;

}/*** 执行点

*@paramargs*/

public static voidmain(String[] args) {

MillionInserter mi=newMillionInserter();

mi.batchInsert(1000000);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563047.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs mac java home_Mac上搭建nodejs开发环境

###Mac上搭建nodejs开发环境####安装homebrew123ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew updatebrew doctor####安装nodejs通过brew安装nodejs和grunt12brew install nodenpm install -g grunt-cli安装成功…

java spring mvc_java spring mvc 全注解

本人苦逼学生一枚,马上就要毕业,面临找工作,实在是不想离开学校.在老师的教导下学习了spring mvc ,配置文件实在繁琐,因此网上百度学习了spring mvc 全注解方式完成spring的装配工作;废话不多说了上干货,其实我也没怎么理解不过简单的运行了一个spring mvc 全注解项目,也不能说…

java note项目_Java Request.setNote方法代码示例

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类/*** Perform single-sign-on support processing for this request.** param request The servlet request we are processing* param response The servlet response we are creating** exceptio…

java 检索编号输出信息_java,_java 如何解析txt文档,输入检索信息,然后输出,java - phpStudy...

java 如何解析txt文档,输入检索信息,然后输出请输入代码需求:请解析config.txt,文件格式包括段落名称、字段名称和字段值。段落名称的值为:"segment:"右边的字符串,在一个文件中不会有重复的段落…

java语言有没有平台无关性_Java语言具有良好的安全性和可移植性及平台无关性。...

【判断题】在类的定义中如果不明确给出父类,那么默认父类是Object类。【判断题】数组一旦创建大小不可改变。【单选题】手绘天花布置图的表示方法中,凡是剖到的墙、柱的断面轮廓线用( )绘制。【单选题】天花表面有进退关系的处理形式,常常采用暗灯槽,以及与各种类型的吊灯、吸顶…

java 配置hdfs集群_Hadoop集群搭建-04安装配置HDFS

HDFS是配合Hadoop使用的分布式文件系统,分为namenode: nn1.hadoop nn2.hadoopdatanode: s1.hadoop s2.hadoop s3.hadoop(看不明白这5台虚拟机的请看前面 01前期准备 )解压配置文件[hadoopnn1 hadoop_base_op]$ ./ssh_all.sh mv /usr/local/hadoop/etc/hadoop /usr/l…

使用双异步后,从 191s 优化到 2s

目录 一、一般我会这样做:操作起来,如果文件比较多,数据量都很大的时候,会非常慢。 二、谁写的?拖出去,斩了!优化1:先查询全部数据,缓存到map中,插入前再进行…

java xxe漏洞利用_【技术分享】XXE漏洞攻防之我见

作者:激越王预估稿费:400RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿你是否听说过xml注入攻击呢,或者对它只知其一不知其二呢?现在让我们从xml相关基础知识开始,一步步了解xml攻…

java ios压缩图片,Java、ios图片上传

IOS客服端代码interface ViewController (){NSString *boundary;NSString *fileParam;NSString *baseUrl;NSString *fileName;}endimplementation ViewController- (void)viewDidLoad{[super viewDidLoad];boundary "----------V2ymHFg03ehbqgZCaKO6jy";fileParam …

线谱法 时钟分量的提取 matlab,LMD局域均值分解的matlab程序及示例

说明:研究LMD局域均值分解有3个月左右,能找到的相关文章也基本上看了一遍,觉得是个很好的方法,号称是EMD经验模态分解的改进版。但是网络上一直没有找到该算法的matlab程序,只见文章说的天花乱坠。后来自己写了一个&am…

matlab 多项式表达,MATLAB自学笔记(十七):多项式及其函数

终于结束了关于MATLAB的基础知识学习部分,开始了对数据的分析1.多项式的表达与创建MATLAB中用一维行向量来表示多项式,将多项式的系数按照降幂次序存放在向量中。请注意上面一句话,这将是MATLAB中对多项式操作的关键MATLAB中对多项式中缺少的…

matlab绘制8条曲线,科学网—【Matlab】如何用plotyy对应坐标绘制多条曲线 - 叶瑞杰的博文...

例子:设x1:0.01:100;y10.2*sin(x);y20.3*sin(x);y30.4*sin(x);y40.5*sin(x);y50.6*sin(x);以左边坐标轴为参考画一条曲线,以右边坐标轴画四条曲线:figure;[AX,h1,h2]plotyy(x,y1,x,[y2;y3;y4;y5]); %用分号还是逗号视y矩阵而定&#xff0c…

matlab数字通信,基于matlab时分复用数字通信系统的设计与实现.pdf

一、系统的功能及原理描述时分多路复用(TDM,time division multiplex ):在实际的通信系统中,为了提高通信系统的利用率,往往用多路通信的方式来传输信号。所谓多路通信,就是指把多个不同信源所发出的信号组合成一个群信…

matlab建立的发动机的模型,奇瑞使用基于模型的设计实现发动机管理系统软件的自主开发...

奇瑞采用了基于模型的设计,并请 MathWorks 工程师来协助其工程团队掌握 MATLAB 和 Simulink 的运用。奇瑞团队使用 Microsoft Word 定义系统需求。他们基于这些需求使用 Simulink 和 Stateflow 开发了一个 EMS 控制模型。使用 Simulink Check™ 和 Simulink Require…

matlab melbankm,Matlab v_melbankm函数参数详解(英文附例)

Matlab v_melbankm函数参数详解(英文附例)笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用。下载voicebox请参看此博客需要注意的是,melbankm改成了v_melbankm,今天自己使用此函数时后面几个参数不知道含义,…

php csrf攻击 xss区别,XSS与CSRF攻击及防御方法

前言web安全这词可能对于服务端工程师来说更加“眼熟”,部分前端工程师并不是十分了解,今天就来讲讲XSS攻击与CSRF攻击及防御方法XSSXSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。大部分…

java 文件名空格,java关于文件名带有空格的个人见解

好久没写文章了,为什么会有这个标题呢最近上篇文章不是写pdf生成吗,其中要加一个印章的图标,这个图标要跟pdf连体,就是不能单独被保存,基本上有几种保存图标的方法:1.数据库2.本地文件我选择了本地的文件&a…

命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...

win7系统通过cmd命令提示符的del命令删除文件的详细教程怎么利用cmd命令提示符的del命令删除文件?cmd命令提示符的功能十分强大,它可以通过一些简单的命令来完成指定的查询、修改、删除等任务。接下来,小编主要分享cmd中del命令的常用方法。1…

matlab各个指令的含义,[MATLAB基础] 求解这段指令的意思,越详细越好,谢谢啦

求解这段指令的意思,越详细越好,谢谢啦 function [Kp,T2]KPCA(ax,ay)[Nx]size(ax);mean_X mean(ax);axbax;std_Xstd(ax);axax-mean_X(ones(Nx,1),:);std_X(find(std_X0))1;%数据预处理axax./std_X(ones(Nx,1),:);c10000;% gama0.05;% ni1;% F1ax(1,:);% …

php+js实现弹幕,jquery.barrager.js-专业的网页弹幕插件

jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color,建议不要与网页主背景…