首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在调用SQLserver存储过程时,Spring JdbcTemplate非常慢

问在调用SQLserver存储过程时,Spring JdbcTemplate非常慢
EN

Stack Overflow用户
提问于 2020-08-31 15:47:13
回答 1查看 151关注 0票数 0

我正在使用JdbcTemplate.execute()调用一个连接到SQLServer数据库的SP。使用相同的参数,当我在SQL Server Management Studio中直接执行SP时,它会在1秒内完成,但当我在java中使用JdbcTemplate时,它会在几分钟内执行,并导致严重的性能问题。

注意:存储过程包含"SET ANSI_NULLS ON“和"SET QUOTED_IDENTIFIER ON”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-31 15:47:13

经过一些测试,我最终发现问题出在我的SP中的空值判断上:

我为SP设置了一些默认参数,并将它们设置为@A nvarchar(255)='',然后在逻辑过程中,我需要将它们用作逻辑条件: if(@A is not null and rtrim(ltrim(@A)) <>'')就这么简单,它在Management Studio中运行得很好。

在将该初始化更改为@A nvarchar(255)并使用if(@A不为null)之后,它还返回JdbcTemplate格式的结果...因此,JdbcTemplate应该有一些内部逻辑来执行空检查,但我不确定为什么以及如何执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63666782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档