簡體   English   中英

慢-打開和關閉與SQL Server的連接

[英]Slow - Open and close connection to SQL Server

我有一個使用SQL Azure在Windows Azure上運行的ASP.NET MVC應用程序。 該應用程序使用SqlClient連接到數據庫。 我總是使用相同的connectionString(要使用連接池):

        using (SqlConnection conn = new SqlConnection("Static Connection String"))
        {
            using (var command = conn.CreateCommand())
            {                    
                conn.Open();
                return command.ExecuteNonQuery();
            }
        }

我注意到打開連接之間有相當長的時間離開緩慢的實現。 例如,如果我的頁面包含四個選擇列表,則應用程序需要打開連接四次以填充列表。 如果使用一個命令執行此操作,返回所有列表,那么性能將是不可思議的,但是當我打開和關閉連接以分別獲取結果列表時,性能也會下降。

使用Windows窗體應用程序不會發生。

我的疑問是,我的跑步環境是否受到限制?

問題是您執行了4個查詢,而不是打開了4個連接-您沒有。 連接池意味着您可以重用相同的連接。

但是,您仍然必須向服務器發送請求,等待並獲取答案。 是四次往返會影響性能。 無論如何,4個查詢的速度將比單個查詢慢4倍。 如果檢索到的數據很小,則往返開銷比查詢本身要昂貴得多。

您應該嘗試減少或完全消除數據庫調用:

  • 使用批處理將多個查詢合並到一個調用中。
  • 對查詢數據使用緩存,這樣您就不必一直檢索相同的選擇。
  • 最后,如果請求參數未更改,請使用輸出緩存來避免呈現同一頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM