Sql-Server
多執行緒插入與串列
我在 SQL Server 2012 標準版上有一個大型數據庫應用程序,它通過儲存過程每隔幾秒鐘從硬體接收 500-1000(100 字節)行的數據。每個執行緒使用數據庫連接、插入行塊的多執行緒應用程序是否會比單執行緒連接多次串列呼叫儲存過程更快?插入數據以獲得最高性能的最佳方法是什麼?是否有在這種情況下效果更好的聚集索引設計?
謝謝,托尼
考慮使用表值參數將多行數據作為單個 proc 呼叫傳遞,或者直接批量複製到表中。與單例插入相比,這些技術將插入吞吐量提高幾個數量級,即使它們是多執行緒的。
增量聚集索引將針對旋轉介質提供最佳插入性能。