批量操作(batch):當(dāng)需要成批插入或者更新記錄時(shí)??梢圆捎肑ava的批量更新機(jī)制.
這一機(jī)制允許多條語(yǔ)句一次性提交給數(shù)據(jù)庫(kù)批量處理。通常情況下比單獨(dú)提交處理更有效率.
以上情況只是針對(duì)批量插入和更新,即對(duì)數(shù)據(jù)庫(kù)做修改的操作.
目前項(xiàng)目中有兩個(gè)不同數(shù)據(jù)庫(kù)的兩張表,從第一張表中查詢出來后,需要根據(jù)兩列的聯(lián)合unique key到第二個(gè)數(shù)據(jù)庫(kù)表中查詢對(duì)應(yīng)記錄。由于第一張表查出的是多條記錄,如果每條記錄單獨(dú)查詢一次第二個(gè)表,則效率較低。所以需要將需要查詢的unique key全部拿到后進(jìn)行一次批量查詢。不過這里的批量查詢并不是上面的同一條語(yǔ)句多次執(zhí)行只是參數(shù)不同的情況,而是將所有需要查詢的unique key條件放在where in的條件中,實(shí)際上只是進(jìn)行了一次帶有in條件的單條select查詢,只不過命中的記錄會(huì)有多條,所以也會(huì)返回多條數(shù)據(jù)。
本質(zhì)上來講,兩種情況雖然都是有著批量操作的理念,但是實(shí)現(xiàn)的時(shí)候,更新和插入是真正執(zhí)行了多次語(yǔ)句,查詢的返回結(jié)果也是一一對(duì)應(yīng)的。然而第二種情況只是將要查詢的條件放入in條件中,即沒有用到j(luò)dbc batch的操作。