1.package jdbc2;
2.import java.sql.Connection;
3.import java.sql.DriverManager;
4.import java.sql.PreparedStatement;
5.import java.sql.SQLException;
6.
7.public class Mysql {
8. public static void main(String[] args) {
9. test_mysql();
10. //test_mysql_batch();
11. //test_oracle();
12. //test_oracle_batch();
13. }
14. /**
15. * mysql非批量插入10万条记录
16. * 第1次:17437 ms
17. * 第2次:17422 ms
18. * 第3次:17046 ms
19. */
20. public static void test_mysql(){
21. String url="jdbc:mysql://192.168.10.139:3306/test";
22. String userName="root";
23. String password="1234";
24. Connection conn=null;
25. try {
26. Class.forName("com.mysql.jdbc.Driver");
27. conn = DriverManager.getConnection(url, userName, password);
28. conn.setAutoCommit(false);
29. String sql = "insert into t_user(id,uname) values(?,?)";
30. PreparedStatement prest = conn.prepareStatement(sql);
31. long a=System.currentTimeMillis();
32. for(int x = 0; x < 100000; x++){
33. prest.setInt(1, x);
34. prest.setString(2, "张三");
35. prest.execute();
36. }
37. conn.commit();
38. long b=System.currentTimeMillis();
39. System.out.println("MySql非批量插入10万条记录用时"+ (b-a)+" ms");
40. } catch (Exception ex) {
41. ex.printStackTrace();
42. }finally{
43. try {
44. if(conn!=null)conn.close();
45. } catch (SQLException e) {
46. e.printStackTrace();
47. }
48. }
49. }
50. /**
51. * mysql批量插入10万条记录
52. * 第1次:17437 ms
53. * 第2次:17562 ms
54. * 第3次:17140 ms
55. */
56. public static void test_mysql_batch(){
57. String url="jdbc:mysql://192.168.10.139:3306/test";
58. String userName="root";
59. String password="1234";
60. Connection conn=null;
61. try {
62. Class.forName("com.mysql.jdbc.Driver");
63. conn = DriverManager.getConnection(url, userName, password);
64. conn.setAutoCommit(false);
65. String sql = "insert into t_user(id,uname) values(?,?)";
66. PreparedStatement prest = conn.prepareStatement(sql);
67. long a=System.currentTimeMillis();
68. for(int x = 0; x < 100000; x++){
69. prest.setInt(1, x);
70. prest.setString(2, "张三");
71. prest.addBatch();
72. }
73. prest.executeBatch();
74. conn.commit();
75. long b=System.currentTimeMillis();
76. System.out.println("MySql批量插入10万条记录用时"+ (b-a)+" ms");
77. } catch (Exception ex) {
78. ex.printStackTrace();
79. }finally{
80. try {
81. if(conn!=null)conn.close();
82. } catch (SQLException e) {
83. e.printStackTrace();
84. }
85. }
86. }
87. /**
88. * oracle非批量插入10万条记录
89. * 第1次:22391 ms
90. * 第2次:22297 ms
91. * 第3次:22703 ms
92. */
93. public static void test_oracle(){
94. String url="jdbc:oracle:thin:@192.168.10.139:1521:orcl";
95. String userName="scott";
96. String password="tiger";
97. Connection conn=null;
98. try {
99. Class.forName("oracle.jdbc.OracleDriver");
100. conn = DriverManager.getConnection(url, userName, password);
101. conn.setAutoCommit(false);
102. String sql = "insert into t_user(id,uname) values(?,?)";
103. PreparedStatement prest = conn.prepareStatement(sql);
104. long a=System.currentTimeMillis();
105. for(int x = 0; x < 100000; x++){
106. prest.setInt(1, x);
107. prest.setString(2, "张三");
108. prest.execute();
109. }
110. conn.commit();
111. long b=System.currentTimeMillis();
112. System.out.println("Oracle非批量插入10万记录用时"+ (b-a)+" ms");
113. conn.close();
114. } catch (Exception ex) {
115. ex.printStackTrace();
116. }finally{
117. try {
118. if(conn!=null)conn.close();
119. } catch (SQLException e) {
120. e.printStackTrace();
121. }
122. }
123. }
124. /**
125. * oracle批量插入10万条记录
126. * 第1次:360 ms
127. * 第2次:328 ms
128. * 第3次:359 ms
129. */
130. public static void test_oracle_batch(){
131. String url="jdbc:oracle:thin:@192.168.10.139:1521:orcl";
132. String userName="scott";
133. String password="tiger";
134. Connection conn=null;
135. try {
136. Class.forName("oracle.jdbc.OracleDriver");
137. conn = DriverManager.getConnection(url, userName, password);
138. conn.setAutoCommit(false);
139. String sql = "insert into t_user(id,uname) values(?,?)";
140. PreparedStatement prest = conn.prepareStatement(sql);
141. long a=System.currentTimeMillis();
142. for(int x = 0; x < 100000; x++){
143. prest.setInt(1, x);
144. prest.setString(2, "张三");
145. prest.addBatch();
146. }
147. prest.executeBatch();
148. conn.commit();
149. long b=System.currentTimeMillis();
150. System.out.println("Oracle批量插入10万记录用时"+ (b-a)+" ms");
151. conn.close();
152. } catch (Exception ex) {
153. ex.printStackTrace();
154. }finally{
155. try {
156. if(conn!=null)conn.close();
157. } catch (SQLException e) {
158. e.printStackTrace();
159. }
160. }
161. }
162.}
分享到:
相关推荐
MySQL连接工具是数据库管理员和开发人员用来与MySQL服务器交互的重要应用程序。绿色版通常指的是免安装、便携式的版本,可以直接运行而无需在计算机上进行正式的安装过程,这对于需要在不同设备间移动工作或者不想...
MySQL连接驱动包是Java应用程序与MySQL数据库进行交互的关键组件,它允许Java开发者通过JDBC(Java Database Connectivity)接口执行SQL语句,管理数据库事务,以及处理数据库结果集。本压缩包包含了两个不同版本的...
是MySQL连接器的类名,通过`Class.forName()`方法加载。 3. 创建数据库连接: ```java String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; ...
MySQL连接驱动jar包是Java应用程序与MySQL数据库进行交互的关键组件。在Java中,我们使用JDBC(Java Database Connectivity)API来实现数据库操作,而MySQL连接驱动则是JDBC的一部分,它负责建立Java应用程序与MySQL...
本模块基于Node.js实现了对MySQL数据库的封装,利用了mysql连接池来优化性能,并且包含了用于测试的百万级数据,确保了在大数据量场景下的稳定性和效率。以下将详细介绍该模块的关键知识点: 1. **Node.js与MySQL**...
OPC 服务器软件 KEPServer 实现与 MySQL 连接 OPC 服务器软件 KEPServer 是一种工业自动化领域中的数据交换协议,以实现实时数据交换和远程监控。通过 KEPServer 软件,可以实现与 MySQL 数据库之间的数据交互,...
这个"mysql连接数据库..jar架包"正是这样的一个驱动包,它包含了MySQL JDBC(Java Database Connectivity)驱动,使得Java程序能够通过标准的JDBC API与MySQL服务器进行通信。 JDBC是Java语言中用来规范客户端程序...
本资源包含了一个可编译运行的C++ MySQL连接池示例,这对于理解和实践C++中的数据库管理是非常有价值的。 首先,连接池的概念是这样的:它是一组预先初始化的数据库连接,程序在需要时可以从池中获取一个已存在的...
以下是对MySQL连接数据库涉及的知识点的详细说明: 1. **连接方式**: - **命令行客户端**:这是最基础的连接方式,通过MySQL的命令行界面输入SQL语句与数据库交互。 - **图形化界面工具**:如MySQL Workbench、...
易语言MYSQL连接池模块源码,MYSQL连接池模块,GetThis,初始化,关闭类线程,线程_测试,其他_附加文本,连接池初始化,取mysql句柄,释放mysql句柄,取空闲句柄数,销毁连接池,取_类_函数地址,取指针内容_整数,取变量地址_...
MySQL连接池是数据库管理中的一个重要概念,主要用于优化数据库应用程序的性能和资源管理。在高并发的Web应用中,频繁地创建和销毁数据库连接会消耗大量系统资源,增加延迟,而连接池通过复用已建立的数据库连接来...
mysql连接工具nav150
CH07MySQL连接器JDBC和连接池.ppt
MySQL连接工具是数据库管理员、开发人员以及数据分析师用于与MySQL数据库进行交互的软件应用程序。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),它在Web应用程序、数据分析和各种业务系统中广泛使用。为了...
本文将深入探讨如何使用 C# 和 `MySql.Data.dll` 实现 MySQL 数据库的连接、查询及其他操作。 1. **安装 MySql.Data NuGet 包** 在 Visual Studio 中,你可以通过 NuGet 包管理器来安装 `MySql.Data`。在解决方案...
安装完成后,.NET Framework将自动识别并添加对应的MySQL连接驱动,这样开发者就可以在项目中直接引用它。 为了使用这个驱动程序,开发者需要在代码中添加以下引用: ```csharp using MySql.Data.MySqlClient; ``` ...
在本文中,我们将深入探讨命令行下MySQL连接器的相关知识,包括它的特点、用途、使用方法以及如何随身携带。 首先,让我们理解标题中的“命令行下MySQL连接器”。这个工具是指MySQL的命令行客户端(mysql.exe),它...
修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to wait 8hours in idle status. wait_timeout =86400 相关参数,红色部分 mysql> show variables like ‘%timeout%’; +————————...
关于MySql连接jsp的驱动问题,包括连接的详细步骤,里面附有截图,还有各个注意事项,还附加了一个测试代码,希望对大家有所帮助
"VS2013添加MySQL连接完美解决方案"这个标题所指的就是解决这个问题的一种方法。 标题中的“完美解决方案”通常意味着一种全面且可靠的处理方式,能够确保用户在VS2013中顺利地与MySQL数据库进行交互。在这个案例中...