欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

一次事務(wù):
復(fù)制代碼 代碼如下:

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

沒問題啊,。我們每天都通過java程序插入幾十萬條數(shù)據(jù)做測試,都可以的
//用mysql自己的驅(qū)動(dòng)程序,下面的測試程序插入100000條記錄,結(jié)果是:
//<<---本頁生成耗時(shí)[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("加載驅(qū)動(dòng)失敗:" + 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("<<---本頁生成耗時(shí)[" + use_time + "]毫秒("
+ ((double) use_time) / 1000 + "秒)--->>");
System.out.println("\n<<---共插入記錄" + st + "條-->>");
}
}
MySQL存儲(chǔ)過程資料收集
表A
聲明
描述
CREATE PROCEDURE
建立一個(gè)存放在MySQL數(shù)據(jù)庫的表格的存儲(chǔ)過程。
CREATE FUNCTION
建立一個(gè)用戶自定義的函數(shù),尤其是返回?cái)?shù)據(jù)的存儲(chǔ)過程。
ALTER PROCEDURE
更改用CREATE PROCEDURE 建立的預(yù)先指定的存儲(chǔ)過程,其不會(huì)影響相關(guān)存儲(chǔ)過程或存儲(chǔ)功能。.
ALTER FUNCTION
更改用CREATE FUNCTION 建立的預(yù)先指定的存儲(chǔ)過程,其不會(huì)影響相關(guān)存儲(chǔ)過程或存儲(chǔ)功能。.
DROP PROCEDURE
從MySQL的表格中刪除一個(gè)或多個(gè)存儲(chǔ)過程。
DROP FUNCTION
從MySQL的表格中刪除一個(gè)或多個(gè)存儲(chǔ)函數(shù)。
SHOW CREATE PROCEDURE
返回使用CREATE PROCEDURE 建立的預(yù)先指定的存儲(chǔ)過程的文本。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。
SHOW CREATE FUNCTION
返回使用CREATE FUNCTION建立的預(yù)先指定的存儲(chǔ)過程的文本。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。
SHOW PROCEDURE STATUS
返回一個(gè)預(yù)先指定的存儲(chǔ)過程的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。
SHOW FUNCTION STATUS
返回一個(gè)預(yù)先指定的存儲(chǔ)函數(shù)的特性,包括名稱、類型、建立者、建立日期、以及更改日期。這一聲明是SQL:2003規(guī)范的一個(gè)MySQL擴(kuò)展。
CALL
調(diào)用一個(gè)使用CREATE PROCEDURE建立的預(yù)先指定的存儲(chǔ)過程。
BEGIN ... END
包含一組執(zhí)行的多聲明。
DECLARE
用于指定當(dāng)?shù)刈兞?、環(huán)境、處理器,以及指針。
SET
用于更改當(dāng)?shù)睾腿址?wù)器變量的值。
SELECT ... INTO
用于存儲(chǔ)顯示變量的縱列。
OPEN
用于打開一個(gè)指針。
FETCH
使用特定指針來獲得下一列。
CLOSE
用于關(guān)閉和打開指針。
IF
一個(gè)An if-then-else-end if 聲明。
CASE ... WHEN
一個(gè) case聲明的結(jié)構(gòu)
LOOP
一個(gè)簡單的循環(huán)結(jié)構(gòu);可以使用LEAVE 語句來退出。
LEAVE
用于退出IF,CASE,LOOP,REPEAT以及WHILE 語句。
ITERATE
用于重新開始循環(huán)。
REPEAT
在結(jié)束時(shí)測試的循環(huán)。
WHILE
在開始時(shí)測試的循環(huán)。
RETURNS
返回一個(gè)存儲(chǔ)過程的值。
MySQL 5.0支持存儲(chǔ)過程語句。
一.創(chuàng)建存儲(chǔ)過程
1.基本語法:
create procedure sp_name()
begin
.........
end
2.參數(shù)傳遞
二.調(diào)用存儲(chǔ)過程
1.基本語法:call sp_name()
注意:存儲(chǔ)過程名稱后面必須加括號,哪怕該存儲(chǔ)過程沒有參數(shù)傳遞
三.刪除存儲(chǔ)過程
1.基本語法:
drop procedure sp_name//
2.注意事項(xiàng)
(1)不能在一個(gè)存儲(chǔ)過程中刪除另一個(gè)存儲(chǔ)過程,只能調(diào)用另一個(gè)存儲(chǔ)過程
四.區(qū)塊,條件,循環(huán)
1.區(qū)塊定義,常用
begin
......
end;

相關(guān)文章

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

    Spring Boot console log 格式自定義方式

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

    Spring Security+Spring Data Jpa如何進(jìn)行安全管理

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

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

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

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

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

    Lombok?安裝和使用小技巧

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

    基于JDBC訪問MySql公共方法實(shí)例解析

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

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

    本文是一個(gè)Java語言編寫的實(shí)戰(zhàn)項(xiàng)目,是一個(gè)健身管理系統(tǒng),主要用到了ssm+springboot等技術(shù),技術(shù)含量筆記高,感興趣的童鞋跟著小編往下看吧
    2021-09-09
  • Java實(shí)現(xiàn)拓?fù)渑判虻氖纠a

    Java實(shí)現(xiàn)拓?fù)渑判虻氖纠a

    這篇文章我們要講的是拓?fù)渑判?,這是一個(gè)針對有向無環(huán)圖的算法,主要是為了解決前驅(qū)后繼的關(guān)系,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • Java實(shí)現(xiàn)圖形化界面的日歷

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

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

    Java基礎(chǔ)之異常處理詳解

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

最新評論