4
通過Management Studio執行T-SQL查詢時,我可以使用SET STATISTICS IO ON
和SET STATISTICS TIME ON
捕獲統計信息以進行查詢調優。通過ADO.NET檢索SET STATISTICS IO和SET STATISTICS TIME值?
當我使用.NET客戶端API執行T-SQL查詢而不是使用Mangaement Studio的UI時,如何收集相同的統計信息?
這似乎是一件顯而易見的事情,但在搜索MSDN和Google很長一段時間後,我很難過。我發現的最接近的東西是MSDN上的Provider Statistics for SQL Server (ADO.NET),但這些統計數據似乎是從客戶端角度來看的關於網絡連接(例如發送/接收的字節)的客戶端統計數據,而不是我所尋找的服務器端統計數據。
嗨賈斯汀我看到你的意圖,從查詢中獲得這些信息的意願會很有用,但你會如何想象接收這些數據?當你運行ExecuteScalar時,你會得到一個對象,如果你用適配器填充數據集,你有一個數據集或數據表,你怎麼能想象從服務器獲取文本數據?只是一個字符串,包含你在SSMS的消息標籤中看到的所有內容? – 2011-02-15 20:02:44
@davide - 除了通過返回值(您正確指出在ExecuteScalar等情況下沒有太多幫助),通常的方法是通過事件處理程序來掛鉤操作。在調用方法之前,添加一個處理程序,並在執行查詢時調用您的處理程序。查看下面的答案以獲取更多信息。我仍然不得不解析回來的文字,但它比沒有任何信息更好! – 2011-02-23 21:02:53