我們使用SQL Server
並且有Winforms
應用程序。在我們的產品中,有時單筆交易中的記錄有時超過50000,我們在那裏面臨性能問題。正在更新帶有多個記錄的數據庫
當我們有大量的數據時,我們通常會在多個數據庫調用中這樣做。因此,在我們的導入功能之一中,我們正在更新一堆1000行的服務器。因此,如果我們有5000條記錄,那麼在處理它們時(在for循環中),我們更新前1000行,然後繼續處理,直到我們得到新的1000行更新。這表現更好,但實際上並不是我表現最好的。
但我們在與比1000當每5000行被賦予了較好的效果更新數據庫所以有我們面臨的,也代碼不看對面是同樣有很多困惑的其他導入/導出功能已經看到我們的應用。
任何人都可以給我一個想法是什麼讓這種情況發生。你沒有樣本數據,數據庫模式等,是的,我同意。但是在使用數據庫的時候應該注意/考慮哪些場景?爲什麼不同數量的記錄給我們帶來了好的結果,有沒有我們無視的東西?我不是數據庫中的冠軍,更不是.NET中的編程人員。很高興聽到您的建議。
不確定這是否有幫助,我們的數據通常包含員工詳細信息,如工資信息,個人詳細信息,權責發生權益,薪酬等。數據是從Excel中提供的,而且我們在內部流程中生成大量數據。如果您需要更多信息,請與我們聯繫。謝謝!!
你必須添加更多信息。你執行1000個單更新或你用一個語句更新1000行?或者你在臨時表中插入1000行,然後更新其他表?爲了提高性能一般,避免您的查詢子選擇和多個手術室,提高你的鑰匙和索引,觸發器禁用,或者如果可能的話做了批量插入 – Koryu