這兩天遇到一個問題,在.net開發的網站,執行sql查詢,從sql PRofiler中監控卡看,執行時間22s。
但是拷出的sql在Management Studio中直接執行,時間僅4ms。
解決方案如下,在sql語句中添加 “SET ARITHABORT ON;” 即可。
解決方案解析:
SQL Server Management Studio 的默認 ARITHABORT 設置為 ON。客戶端應用程序將 ARITHABORT 設置為 OFF 可以接收不同的查詢計劃,使得對性能較差的查詢進行故障排除變得困難。即,同一個查詢可以在 Management Studio 中快速執行,但在應用程序中卻比較慢。使用 Management Studio 排除查詢故障時始終與客戶端 ARITHABORT 設置匹配。
新聞熱點
疑難解答