1 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個贊
2018-09-07 14:10:46,421 1 INFO EntityDataRepository [jobInstanceID: 0] - -- 在 11776 毫秒內(nèi)完成,結(jié)果:SqlDataReader
這意味著SqlCommand.ExecuteReader()
已經(jīng)完成,服務(wù)器開始向客戶端返回行。SQL Sever 中的查詢此時仍在執(zhí)行。它可能已經(jīng)假脫機(jī)了所有查詢結(jié)果,或者它可能剛剛使用流式查詢計(jì)劃找到并返回了前幾個匹配的行。因此,IQueryable<T>.ToList()
要完成,查詢需要在服務(wù)器上完成執(zhí)行,結(jié)果行必須傳輸?shù)娇蛻舳?,EF 必須讀取行并將它們具體化為 type 的類實(shí)例T
。
可以使用Visual Studio Profiler、性能計(jì)數(shù)器或System.Diagnostics.Process分析客戶端工作。
SQL Server 跟蹤計(jì)劃緩存中查詢的查詢執(zhí)行統(tǒng)計(jì)信息,如果在 SQL 2016+ 中使用查詢存儲,則跟蹤所有查詢。統(tǒng)計(jì)信息將向您顯示查詢經(jīng)過的時間,其中包括等待客戶端讀?。ê吞幚恚┬泻退衅渌却臅r間,以及“工作時間”,即查詢使用的 CPU 時間。SQL 2017 和 Azure SQL 數(shù)據(jù)庫中的查詢存儲還跟蹤每個查詢的等待統(tǒng)計(jì)信息,因此您可以區(qū)分客戶端ASYNC_NETWORK_IO
等待( ) 和其他等待,如數(shù)據(jù)文件讀取 ( PAGEIOLATCH
)、鎖定等待 ( LCK_*_*
) 等。
- 1 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)