2013-03-24 72 views
0

我有一個有趣的問題與mygeneration doodad對象。我正在使用doodad存儲過程輸入從文件讀取到我的SQL Server數據庫的大約25K條記錄。我需要填寫5張桌子。每次運行C#程序調用裝飾時,我都會發現前面的8K記錄是在1-2分鐘內輸入的,而其餘的16K記錄需要數小時。這讓我發瘋,但我不知道出路。任何人都可以幫忙?MyGeneration或SQL Server性能問題

謝謝

回答

0

您是否有權訪問SQL Server客戶端工具?如果是這樣,並且您可以運行SQL Profiler,則可以查看針對SQL Server執行的語句及其頻率。從這裏,你可以看到服務器的吞吐量,並且你可以看到請求本身是否正在減速(從結束到開始的時間在增加),或者它們執行的時間越來越長(開始和結束之間的時間目的在增加)。

另外,你說第一個8K記錄非常快,其餘(17K左右)真的很慢。性能會隨着時間的推移而降低(每個1K比之前的1K要慢),還是性能變慢,然後保持穩定?如果性能穩步下降,您可能會看到內存泄漏或數據佈局問題 - 如果您多次執行該程序或者已經在表中存在數據,會發生什麼情況?如果在表中添加其他數據,然後運行插入操作會帶來相同的性能狀況,那麼我會查看應用程序。如果預先填充數據會立即將性能降低到不可接受的水平,那麼您的數據庫可能需要一些索引,或者存在存儲問題。