我有一個儀表板,其中顯示5個使用5個單獨的SELECT count (*)
查詢計算的實時總計。這些插入到頁面的結果與由於SQL查詢導致加載15s的頁面
Using rdr As SqlDataReader = db.ExecDataReader(qry1)
rdr.Read()
qa1.InnerText = rdr(rdr.GetName(0))
End Using
Using rdr As SqlDataReader = db.ExecDataReader(qry2)
rdr.Read()
qa2.InnerText = rdr(rdr.GetName(0))
End Using
有什麼辦法來減少加載時間?我試着用UNION加入所有的查詢,而在SQL SMS中,它需要幾秒鐘的時間,但我不知道如何從結果中拉出每一行。
也就是說,服務器管理工作室仍然是12秒,這對於儀表板來說仍然是不合需要的。我的手是否與我們的基礎設施相關?
那麼你已經確定了響應時間慢的原因 - 查詢代價高昂。你的第一個端口是嘗試優化這些查詢 - 檢查缺少的索引等。考慮到這一點,目前這個問題太模糊了,以幫助解決這個問題。 – AdaTheDev
創建一個包含所有5個查詢的usp,並且這個usp將返回5個表的集合的數據集,然後您可以使用這些表進行進一步處理。 –
你需要結果是100%準確嗎?您的表格是正在更新還是僅插入?你使用LOB嗎? –