ef第一次查詢很慢,大約在2s左右,第二次及之後就變快了。
efcore第一次查詢大約也有1s左右。
而用ado.net第一次查詢也就只有100ms。
測試結果(ef和ado.net):
測試**如下:
using親測可用,優化後第一次查詢大概200mssystem;
using
system.collections.generic;
using
system.componentmodel.dataannotations;
using
system.componentmodel.dataannotations.schema;
using
system.data;
using
system.data.entity;
using
system.data.sqlclient;
using
system.diagnostics;
using
system.linq;
using
system.text;
using
system.threading.tasks;
namespace
private
static
void
testado()
conn.close();
}catch
(exception err)
}console.writeline(
"the ado.net query1:
" + stopwatch.elapsedmilliseconds + "
millisecond.");
stopwatch.restart();
using (sqlconnection conn = new
sqlconnection(connstring))
conn.close();
}catch
(exception err)
}stopwatch.stop();
console.writeline(
"the ado.net query1:
" + stopwatch.elapsedmilliseconds + "
millisecond.");
}private
static
void
testef()
}public
class
datacontext : dbcontext
public dbsetmembers
public dbsetmemberprojects
}[table(
"member")]
public
class
member
}[table(
"memberproject")]
public
class
memberproject}}
操作步驟:
1:以管理員身份啟動控制台cmd程式
2:切換到本機.net 工具目錄下:
對於32位機器,通常在%windir%\microsoft.net\framework\v4.0.30319\下
對於64位機器,通常在 %windir%\microsoft.net\framework64\v4.0.30319\下
3:然後執行 ngen install 加上程式集的路徑和名稱,即可。
cd c:\windows\microsoft.net\framework\v4.0.30319
但是該方案對efcore無效,搜尋很久,找不到關於efcore的優化方案。
參考資料:
mysql啟動配置 mysql初次啟動相關配置
一 啟動mysql服務 使用mysql之前,首先要啟動mysql伺服器端。使用命令mysqld。在命令列終端先進入mysql安裝的目錄直到bin目錄,如圖 執行這個命令,可能會報錯,提示找不到data目錄 建立完成再執行上面的命令,此時這一步完成。但是僅僅執行了mysqld是不夠的,客戶端要連線服務...
EF優化之啟動預熱
為什麼entity framework的初始化速度慢如蝸牛呢?private void 對程式中定義的所有dbcontext逐一進行這個操作 在程式更新時只需發乙個請求讓程式啟動起來,比如訪問首頁,就可以直接發布。而第1位使用者,等待時間由原來7秒減少到0.5 0.6秒。使用了ef的code fir...
TCP 慢啟動簡介
內容絕對正確,所 以請讀者抱著懷疑的態度閱讀本部落格內的文字。如果讀 者因本部落格內的文字造成損失,本人 無力負責。如果有任何謬誤或者問題,希望讀者不吝賜教。在廣域網,tcp報文可能要經過多個路由器和速率較慢的鏈路。如果傳送方一開始就向網路 傳送多個報文段,則中間路由器的緩衝負擔會立刻加重,很可能致...