sql-server - 在 SSMS 与应用程序服务器中创建 SQL Server 查询计划
问题描述
我有以下情况:
在数据库部署之后,我们有一个 .Net 应用程序服务器正在尝试执行存储过程。
应用程序的超时时间为 30 秒。当应用程序第一次尝试执行存储过程时,会尝试创建一个新的查询计划,但这需要超过 30 秒,并且应用程序有很多超时。我的经验是,如果存储过程在第一次运行时从 SSMS 手动运行(具有代表性的数据输入),大约需要 1-2 分钟,然后会生成一个计划,然后应用程序会顺利运行。
我与第三方公司合作,那里有一个 DBA,他声称以下内容:
"手动调用此存储过程将创建一个特定于所使用的连接属性 (SSMS) 的计划,当应用程序服务器调用该过程时,将不会使用生成的计划。 "
这个对吗?如果使用的查询计划链接到连接属性,这似乎是一个糟糕的设计?如果您在 SSMS 中手动运行存储过程与由应用程序执行存储过程,创建的查询计划有区别吗?
如果是这样,解决此问题的最佳方法是什么?增加超时是唯一的选择吗?
解决方案
推荐阅读
- python - 如何在 QScintilla 中实现基于缩进的代码折叠?
- wpf - XAML 属性编辑器中的 WPF Enum Flags Dependency 属性
- java - 表达式中的优先级,包括 java 中的括号和 int 类型转换
- google-apps-script - 根据匹配用新数据更新记录
- swift - Swift:本地通知提前 1 小时安排
- swift - Swift 4- http 请求发布以登录网站
- functional-programming - 排序 SML 列表中的问题
- angular - 返回BMI大于30的角管
- java - 查找树中子节点的最大数量
- travis-ci - Travis:如何同时启用 pip 和目录缓存?