亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MYSQL批量插入數(shù)據(jù)的實現(xiàn)代碼第2/3頁

 更新時間:2008年10月11日 22:43:05   作者:  
非常的實現(xiàn)原理,代碼較多,建議大家仔細看看。

因為MicorSoft官方的jdbc不支持手動提交,因此用開源jdts的,反正官方測試報告說jdts性能在ms-sql的java驅動里性能最好。
把insert 語句注釋掉, 看你的程序運行10次是否會正常
-->
Error即是JVM的問題,大概是garbage collection太慢:roll:
試試每10000條作一次garbage collection 看看:roll:
-->
這句每一次作了3個物件,改一個看看
-->
但是配合3.0.16和3.0.10 都沒問題。
我也曾設置過,每執(zhí)行1000次就提交一次,照樣是用3.1的驅動出問題。還是1w2時候。
事務太長了,每插入一條就commit一次;偶插入過3千萬條,沒有問題的
昨天,用3.1.12驅動,在同學的AMD 64 + 512M RAM 上測試了,2W記錄,使用java -Xmx64m -Xmx128m 參數(shù)運行,可以順利通過。
但10W記錄,照樣完蛋。機器消耗的總內存(物理+交換文件)達到1.4GB 后,因為空間不夠,自動中止。
如果直接插入而不用事務機制呢?
-->
我每次測試,首先就是默認的自動提交(每語句),用3.1驅動還是出錯。
當記錄數(shù)目小到能正常完成時,自動提交耗時是一次事務的10倍時間(記錄不太多時,大于1W,差距縮小到2~3倍)。
自動提交:
復制代碼 代碼如下:

## 默認
D:\Program Files\test\db_test>java InsertTestMysql
<<---本頁生成耗時[43693]毫秒(43.693秒)--->>
<<---共插入記錄1000條-->>

一次事務:
復制代碼 代碼如下:

## 控制COMMIT,一次性提交
D:\Program Files\test\db_test>java InsertTestMysql
<<---本頁生成耗時[3846]毫秒(3.846秒)--->>
<<---共插入記錄1000條-->>

沒問題啊,。我們每天都通過java程序插入幾十萬條數(shù)據(jù)做測試,都可以的
//用mysql自己的驅動程序,下面的測試程序插入100000條記錄,結果是:
//<<---本頁生成耗時[82781]毫秒(82.781秒)--->>
//<<---共插入記錄100000條-->>
import java.sql.*;
public class InsertTestMysql {
public static void main(String[] args) {
java.util.Date now_start = new java.util.Date();
long start_time = now_start.getTime();
int st = 100000;
String db = "com.mysql.jdbc.Driver";
String host = "jdbc:mysql://192.168.2.108/develop";
String user = "whl";
String passwd = "MVu9H370uG";
Connection con = null;
try {
Class.forName(db).newInstance();
} catch (Exception e) {
System.out.println("加載驅動失敗:" + db);
}
try {
con = DriverManager.getConnection(host, user, passwd);
PreparedStatement pstmt = con.prepareStatement("insert into test (id,txt) values(?,?);");
for (int i = 1; i <= st; i++) {
pstmt.setInt(1, i);
pstmt.setString(2, "這條記錄是第=" + i);
pstmt.executeUpdate();
}
con.close();
} catch (Exception e) {
System.out.println(e);
}
java.util.Date now_end = new java.util.Date();
long end_time = now_end.getTime();
long use_time = end_time - start_time;
System.out.println("<<---本頁生成耗時[" + use_time + "]毫秒("
+ ((double) use_time) / 1000 + "秒)--->>");
System.out.println("\n<<---共插入記錄" + st + "條-->>");
}
}
MySQL存儲過程資料收集
表A
聲明
描述
CREATE PROCEDURE
建立一個存放在MySQL數(shù)據(jù)庫的表格的存儲過程。
CREATE FUNCTION
建立一個用戶自定義的函數(shù),尤其是返回數(shù)據(jù)的存儲過程。
ALTER PROCEDURE
更改用CREATE PROCEDURE 建立的預先指定的存儲過程,其不會影響相關存儲過程或存儲功能。.
ALTER FUNCTION
更改用CREATE FUNCTION 建立的預先指定的存儲過程,其不會影響相關存儲過程或存儲功能。.
DROP PROCEDURE
從MySQL的表格中刪除一個或多個存儲過程。
DROP FUNCTION
從MySQL的表格中刪除一個或多個存儲函數(shù)。
SHOW CREATE PROCEDURE
返回使用CREATE PROCEDURE 建立的預先指定的存儲過程的文本。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。
SHOW CREATE FUNCTION
返回使用CREATE FUNCTION建立的預先指定的存儲過程的文本。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。
SHOW PROCEDURE STATUS
返回一個預先指定的存儲過程的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。
SHOW FUNCTION STATUS
返回一個預先指定的存儲函數(shù)的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個MySQL擴展。
CALL
調用一個使用CREATE PROCEDURE建立的預先指定的存儲過程。
BEGIN ... END
包含一組執(zhí)行的多聲明。
DECLARE
用于指定當?shù)刈兞?、環(huán)境、處理器,以及指針。
SET
用于更改當?shù)睾腿址掌髯兞康闹怠?
SELECT ... INTO
用于存儲顯示變量的縱列。
OPEN
用于打開一個指針。
FETCH
使用特定指針來獲得下一列。
CLOSE
用于關閉和打開指針。
IF
一個An if-then-else-end if 聲明。
CASE ... WHEN
一個 case聲明的結構
LOOP
一個簡單的循環(huán)結構;可以使用LEAVE 語句來退出。
LEAVE
用于退出IF,CASE,LOOP,REPEAT以及WHILE 語句。
ITERATE
用于重新開始循環(huán)。
REPEAT
在結束時測試的循環(huán)。
WHILE
在開始時測試的循環(huán)。
RETURNS
返回一個存儲過程的值。
MySQL 5.0支持存儲過程語句。
一.創(chuàng)建存儲過程
1.基本語法:
create procedure sp_name()
begin
.........
end
2.參數(shù)傳遞
二.調用存儲過程
1.基本語法:call sp_name()
注意:存儲過程名稱后面必須加括號,哪怕該存儲過程沒有參數(shù)傳遞
三.刪除存儲過程
1.基本語法:
drop procedure sp_name//
2.注意事項
(1)不能在一個存儲過程中刪除另一個存儲過程,只能調用另一個存儲過程
四.區(qū)塊,條件,循環(huán)
1.區(qū)塊定義,常用
begin
......
end;

相關文章

  • Spring Boot console log 格式自定義方式

    Spring Boot console log 格式自定義方式

    這篇文章主要介紹了Spring Boot console log 格式自定義方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring Security+Spring Data Jpa如何進行安全管理

    Spring Security+Spring Data Jpa如何進行安全管理

    這篇文章主要介紹了Spring Security+Spring Data Jpa如何進行安全管理,幫助大家更好的理解和學習Spring Security框架,感興趣的朋友可以了解下
    2020-09-09
  • java 獲取當前函數(shù)名的實現(xiàn)代碼

    java 獲取當前函數(shù)名的實現(xiàn)代碼

    以下是對使用java獲取當前函數(shù)名的實現(xiàn)代碼進行了介紹。需要的朋友可以過來參考下
    2013-08-08
  • 使用MybatisPlus自定義模版中能獲取到的信息

    使用MybatisPlus自定義模版中能獲取到的信息

    這篇文章主要介紹了使用MybatisPlus自定義模版中能獲取到的信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Lombok?安裝和使用小技巧

    Lombok?安裝和使用小技巧

    這篇文章主要介紹了Lombok?安裝和使用指南,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 基于JDBC訪問MySql公共方法實例解析

    基于JDBC訪問MySql公共方法實例解析

    這篇文章主要介紹了基于JDBC訪問MySql公共方法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Java實戰(zhàn)項目 健身管理系統(tǒng)

    Java實戰(zhàn)項目 健身管理系統(tǒng)

    本文是一個Java語言編寫的實戰(zhàn)項目,是一個健身管理系統(tǒng),主要用到了ssm+springboot等技術,技術含量筆記高,感興趣的童鞋跟著小編往下看吧
    2021-09-09
  • Java實現(xiàn)拓撲排序的示例代碼

    Java實現(xiàn)拓撲排序的示例代碼

    這篇文章我們要講的是拓撲排序,這是一個針對有向無環(huán)圖的算法,主要是為了解決前驅后繼的關系,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-05-05
  • Java實現(xiàn)圖形化界面的日歷

    Java實現(xiàn)圖形化界面的日歷

    這篇文章主要介紹了Java實現(xiàn)圖形化界面的日歷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java基礎之異常處理詳解

    Java基礎之異常處理詳解

    異??赡苁窃诔绦驁?zhí)行過程中產(chǎn)生的,也可能是程序中throw主動拋出的。本文主要給大家介紹了Java中異常處理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04

最新評論