使用jdk8新特性實現資料庫效能優化

2021-09-25 13:51:52 字數 768 閱讀 5111

在迴圈裡建立資料庫連線,嚴重影響資料庫效能

在迴圈裡面去運算元據庫肯定會慢的,而且還容易碰到新手,在迴圈裡面建立資料庫連線,會導致連線數滿。一般查詢的話,在外層一次性查詢出來 然後 在邏輯層去迴圈組織資料。如果是新增,則可以考慮使用批量插入的方法去處理。

查詢的話,在外層一次性查詢出來 然後 在邏輯層去迴圈組織資料。不要迴圈查詢資料庫,(尤其是遞迴查詢組織樹)經過測試兩者在相同資料(258條資料)的情況下效能相差6倍。

如果是更新(修改,新增,刪除),多條資料也建議批量處理。(資料少的話沒有差別,如果資料量很大的話差別就會很明顯,如果多條資料資料量不是很大,用迴圈互動資料庫也可以)。

總的來說,迴圈互動資料庫會使得效能降低。尤其是查詢大資料量的時候,效能測試的時差體現的很明顯。

如:批量修改操作

for(int i=0;ibankjournalrepository.delete(ids[i])

優化後的**:

public errorobject deletebyids(string ids) {

listidlist = arrays.aslist(ids.split(","));

listidite = idlist.stream().map(s -> long.valueof(s)).collect(collectors.tolist());

bankjournalrepository.delete(bankjournalrepository.findall(idite));

return new errorobject();

JDK8的新特性

這兩天開始看jdk8的新特性,先看了lembda表示式和stream,就乙個感覺,優雅。趕緊將這兩天的成果總結一下 lembda表示式是乙個簡潔 可傳遞的匿名函式,實現了把 塊賦值給乙個變數的功能 格式就是 parameters expression,需要注意的是 引數可以為空 引數為乙個值得時候,...

jdk8的新特性

lambda表示式 格式為 符號左邊為表示式需要的所有引數 符號右邊為表示式要執行的功能 將之前的匿名內部內作為引數傳遞直接可以使用lambda表示式完成 比如lists new arraylist new arraylist stirng public int compare string a,s...

JDK 8 新特性 Stream map 相關

和 clojure 裡面的 map 理解 是一樣的,可以分別獲取流中的每乙個元素,然後在對其做一些操作 1.遍歷字串集合然後轉換成大寫字母 public static void main string args system.out.println newnames stream map 方式 ne...