簡體   English   中英

Teradata多個連接INSERT死鎖

[英]Teradata multiple connections INSERT deadlock

我創建多個連接,並同時將批量插入myTable中(多線程)

insertString = "INSERT INTO ... + values + ") "; 
insertTable.addBatch(insertString); 
insertTable.executeBatch();
insertTable.clearBatch(); 

有時它可以正常工作,但是在其他情況下則掛起。 我知道這是因為我要插入同一張表,所以它被鎖定了。

如何編寫一個INSERT語句,使其不鎖定表?

是否有任何特殊的transaction start . . transaction start . . 可以防止表被鎖定的命令? 另外,我很好奇為什么有時還能正常工作?

PS:我使用的最大連接數為1024(有時工作正常)

謝謝

1024會話完全是瘋狂的。 為此,您的DBA應該阻止您的用戶。

使用相同的PI加載多行時,您可能會遇到阻塞的會話。

單行INSERT是最慢的數據加載方式。 批量為幾千個的單個會話將勝過數十個單行會話(但隨后僅使用一個會話)。

或如果目標表為空,則切換到JDBC FastLoad。

檢查http://developer.teradata.com/connectivity/articles/speed-up-your-jdbcodbc-applications

這是登台桌嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM