我有一個需要更新C#應用程序中的SQL Server數據庫中的20個表。爲了獲得更好的性能,我計劃使用多個線程來更新表。任何人都可以提供任何示例鏈接,爲這種操作提供想法嗎?SQL Server數據庫更新使用多線程
此外,根據我的理解,如果我使用多線程,那麼我必須爲每個線程使用不同的連接對象。在那種情況下,我怎麼可以在一個事務中放置多個線程,這基本上是使用不同的連接對象?
我有一個需要更新C#應用程序中的SQL Server數據庫中的20個表。爲了獲得更好的性能,我計劃使用多個線程來更新表。任何人都可以提供任何示例鏈接,爲這種操作提供想法嗎?SQL Server數據庫更新使用多線程
此外,根據我的理解,如果我使用多線程,那麼我必須爲每個線程使用不同的連接對象。在那種情況下,我怎麼可以在一個事務中放置多個線程,這基本上是使用不同的連接對象?
要同時更新20張表是非常瘋狂的。
如果20個存儲過程是完成需要完成的任務的唯一方法,那麼再創建一個存儲過程,將爲您調用20個存儲過程,並簡單地使用該存儲過程。
這樣,如果發生錯誤/異常,您將能夠回滾MOD並且它現在被包含在一個位置 - 很好,很容易(所有事情都考慮在內)。
我很高興我不必處理與此相關的情況!祝你好運!
使用TPL(任務並行庫),這裏有一個例子http://safeery2k.wordpress.com/2013/09/17/ado-net-using-tpl/
你有沒有嘗試使用** **一個存儲過程調用然後可以更新20桌。所以你不必打開(甚至多線程)20個連接? –
你確定你需要多個線程嗎?只有_constructing_ sql語句花費大量時間,您才能獲得更好的性能。如果大部分時間都花費了_executing_語句,那麼使用多個線程甚至會使整個過程變慢。 – empi
爲什麼你需要多線程呢?這只是一個糟糕的主意。 20桌沒什麼。 –