电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

SQL Server下SQL语句在代码中执行效率远低于在SSMS下的一个可能原因

来源:金蝶云社区作者:金蝶2024-09-235

SQL Server下SQL语句在代码中执行效率远低于在SSMS下的一个可能原因

背景:

        一条SQL语句,在SSMS工具下执行,响应时间非常快,但在代码中发现执行效率却很慢。

分析:

        通过SQL Profiler等工具监控会发现,语句执行不光时间超过预期,并且读取的成本非常高。将SQL语句放到SSMS工具后,查看执行计划并不存在索引缺少问题,IO的统计信息也明显低于在SQL Profiler监控的结果。

        由于语句相同,只是执行的端的差异,怀疑是某个数据库的属性设置,引发执行语句时的环境变量不一致的原因,检查执行时的上下文发现ARITHABORT是存在差异的。SSMS下为开启的,但数据库上为关闭的。

    SSMS中的设置

    image.webp

    数据库属性设置

   

解决方式:

    将数据属性中的【算术中止已启用】设置为true后问题得到解决。

    或者通过脚本实现:   

    USE [master]

    GO

    ALTER DATABASE 数据库名 SET ARITHABORT ON WITH NO_WAIT

    GO

    由于星空产品

SQL Server下SQL语句在代码中执行效率远低于在SSMS下的一个可能原因

背景: 一条SQL语句,在SSMS工具下执行,响应时间非常快,但在代码中发现执行效率却很慢。分析: 通过SQL Profiler等工具监...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信