2009-10-30 120 views
3

我們開始在我們的代碼中有大量的linq到sql查詢。我們已經開始關注性能,並開始看到我們認爲來自linq的查詢。他們有t1,t2 ... tN值,所以我們確信他們是linq生成的。但是,我們很難確定作爲查詢源的代碼中的位置。顯然,我們基於所請求的表格和欄目有一個總體思路。確定linq到sql查詢的來源

有沒有辦法「標記」或「命名」一個查詢,以便在跟蹤中顯示,以便更容易地識別查詢?

回答

1

我有,到目前爲止,發現沒辦法做到這一點。

1

您可能會發現我的Linq-to-SQL query profiler有用;它允許您將查詢與堆棧跟蹤和db端I/O,時間安排,執行計劃以及其他詳細信息一起記錄下來,這些詳細信息可用於查明查詢具有的效果以及來自哪裏(代碼中,用戶操作(或)呼叫或觸發它等)。

它有多個filter options,您可以在自己的代碼中進行控制,因此您可以設置它來捕獲僅滿足特定條件的查詢。例如。查詢:expensive I/O-wise,有long execution timetable scans,hits specific tables,甚至你自己的custom filters等。它是專爲運行時分析,所以你可以分配日誌組件與您的應用程序,並在必要時生產環境中打開它。

我已經發布了一個簡短的介紹到這裏: http://huagati.blogspot.com/2009/06/profiling-linq-to-sql-applications.html

而且你可以從以下網址下載探查,並獲得免費45天試用許可證: http://www.huagati.com/L2SProfiler/