使用JDBC處理大資料

2021-06-01 22:06:43 字數 1415 閱讀 2689

在實際開發中,程式需要把大文字或二進位制資料儲存到資料庫。

基本概念:大資料也稱之為lob(large objects)

,lob

又分為:

clob

和blob

clob用於儲存大文字。

text

blob用於儲存二進位制資料,例如影象、聲音、二進位製文等。

對mysql

而言只有

blob

,而沒有

clob

,mysql

儲存大文字採用的是

text

,text

和blob

分別又分為:

tinytext、

text

、mediumtext

和longtext

tinyblob、

blob

、mediumblob

和longblob 

使用jdbc進行批處理

業務場景:當需要向資料庫傳送一批sql

語句執行時,應避免向資料庫一條條的傳送執行,而應採用

jdbc

的批處理機制,以提公升執行效率。

實現批處理有兩種方式,第一種方式:

statement.addbatch(sql)  list

執行批處理sql

語句executebatch()方法:執行批處理命令

clearbatch()方法:清除批處理命令

connection conn = null;

statement st = null;

resultset rs = null;

try  finally

採用statement.addbatch(sql)

方式實現批處理:

優點:可以向資料庫傳送多條不同的sql語句。

缺點:sql語句沒有預編譯。

當向資料庫傳送多條語句相同,但僅引數不同的sql

語句時,需重複寫上很多條

sql語句。

使用批量處理的第二種方式

conn = jdbcutil.getconnection();

string sql = "insert into user(name,password,email,birthday) values(?,?,?,?)";

st = conn.preparestatement(sql);

for(int i=0;i<50000;i++) }

st.executebatch();

採用preparedstatement.addbatch()

實現批處理

優點:傳送的是預編譯後的sql

語句,執行效率高。

缺點:只能應用在sql

語句相同,但引數不同的批處理中。因此此種形式的批處理經常用於在同乙個表中批量插入資料,或批量更新表的資料。

使用JDBC處理大資料

在實際開發中,程式需要把大文字或二進位制資料儲存到資料庫。大資料也稱之為lob large objects lob又分為 clob和blob clob用於儲存大文字。text blob用於儲存二進位制資料,例如影象 聲音 二進位製文等。對mysql而言只有blob,而沒有clob,mysql儲存大文...

JDBC處理大資料

使用mysql資料庫也可以處理大資料,在實際開發中需要把大文字或者二進位制資料儲存到資料庫中去。clob是用來儲存大文字的,mysql資料庫不支援。bclob用於儲存二進位制資料,例如 影象 聲音 二進位制檔案等。對於mysql的text型別,可呼叫如下方法設定 preparedstatment.s...

如何使用JDBC快速處理大資料

在實習工作中,要處理一張存有204萬記錄的表,由於記錄是從網際網路上取到的,所以裡面有一些不太理想的詞,比如一些詞裡混有特殊字元,標點符號,或者有些詞根本就是標點符號等等。我寫這個程式的目的就是把這些不理想的詞找出來,能修改的就修改,沒有必要修改的就直接刪除。for int i 0 i 205 i ...