java數(shù)據(jù)庫查詢 JAVA起5個線程查5個sql會比1個線程查5個sql更快嗎?為什么?
JAVA起5個線程查5個sql會比1個線程查5個sql更快嗎?為什么?首先,我們假設(shè)查詢SQL所需的網(wǎng)絡(luò)開銷和執(zhí)行時間是相同的]多線程是每個線程占用CPU的時間片。切換上下運行的程序就像是同時執(zhí)行多個
JAVA起5個線程查5個sql會比1個線程查5個sql更快嗎?為什么?
首先,我們假設(shè)查詢SQL所需的網(wǎng)絡(luò)開銷和執(zhí)行時間是相同的
]多線程是每個線程占用CPU的時間片。切換上下運行的程序就像是同時執(zhí)行多個程序,五個線程的速度會比五個SQL快
]因為多線程CPU的利用率比一個線程高
多線程操作,請確保每個線程操作SQL語句中的表是相對獨立的。否則,需要排列線程之間的順序,即鎖代碼段。同時,如果兩個線程同時運行同一個SQL語句并操作同一個表,那么肯定有問題。通常,這是因為超過了數(shù)據(jù)庫的最大鏈接限制。建立鏈接后,無論緩存了多少,消息隊列都將自動等待。在超時時間內(nèi)沒有鏈路取消。無法獲取鏈接權(quán)限。您可以將自己的數(shù)據(jù)庫鏈接數(shù)設(shè)置為更大。