我有一個用VB.NET編寫的應用程序,它從SQL Server 2008 R2讀取數據。 登錄時,用戶從衆多數據庫文件中選擇一個(在下拉列表中可用),然後輸入用戶名和密碼登錄。在登錄時,應用程序將從選定數據庫中的表中讀取一個名爲'strings'的表,並將Do While循環放入一些25-30個變量中以創建應用程序的工作環境。延遲從特定數據庫讀取
我已經在Do While循環的開始和結束處進行了時間跟蹤,它顯示了對於其中一個數據庫,讀取所有值需要26秒,對於另一個需要0秒(因爲我不是在毫秒級追蹤)。
諷刺的是,在數據庫中時間爲26秒,「字符串」表具有125行和取0秒數據庫具有159行。顯然,代碼是相同的,數據庫結構也是一個真正的副本(兩個數據庫都是使用相同的腳本生成的)。
我已經想到了所有的可能性,但不知道爲什麼有這延遲了用戶的登錄時間等巨大的差異。
您能否介紹一下我如何弄清楚這一點?
謝謝
不幸的是,服務器是一樣的。我已經知道具有性能問題的數據庫最初是建立在SQL Server 2005上的.SQL Server 2005安裝後來升級到SQL Server 2008 R2。另一個速度很快的數據庫建立在SQL Server 2008 R2本身上。這可能導致這個問題? –
@PrashantGupta:升級本身可能不會降低性能。但是,數據庫似乎很老。其中的索引可能處於不良狀態,請參閱重建索引technet.microsoft.com/en-us/library/ms187874(v=sql.105).aspx。查詢相應的服務器管理員來執行數據庫維護可能很有用。 – IvanH