[英]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.