Sql-Server
是否有可靠的方法來確定優化器生成查詢計劃需要多長時間?
我不確定從哪裡開始,但是有沒有辦法查看優化器為查詢生成查詢計劃花了多長時間?它是否儲存在任何 DMV 中或屬於某個統計數據的一部分?或者如果我包含實時統計數據或實際執行計劃,我可以以某種方式計算它嗎?也許在查詢商店中?
有很多方法:
如果您可以執行查詢
- 你可以使用
set statistics time on
which 會給你:> > SQL Server 解析和編譯時間:CPU 時間 = xx 毫秒,已用時間 = xx 毫秒。 > > >
還有許多其他方法,例如分析器、伺服器端跟踪或 XEvents - 但它們很昂貴並且可能對您的 sql 伺服器產生負面的性能影響。
您可以使用sp_BlitzCache從計劃記憶體中找出查詢編譯超時。