这两天遇到一个问题,在.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 设置匹配。
新闻热点
疑难解答