2020-08-25 19:49发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在数据库上运行统计信息时,无法执... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在数据库上运行统计信息时,无法执行来自IIS上.NET ODBC连接的查询。 30秒后超时。 当我们运行来自isql的相同查询时,执行速度非常快。 即使我们取消了收集统计信息流程,问题也没有解决。 3小时后,当我们重新启动IIS时,该案例解决了。
当从isql运行查询时,似乎正在获取正确的计划,而从IIS运行时则正在执行全表扫描
什么可能导致问题?
为什么在两种情况下数据库都没有使用相同的执行计划?
嗨,
因此,isql通常是直接的sql prepare and execute语句,这取决于在数据是参数化还是动态的情况下,在代码中进行调用的方式可以更改。 实际上,动态应该更快。
您已经确定该计划与众不同,并且是导致问题的原因。 ASE中有CR。
可能只是设置ASE选项或修改odbc连接。 也许在odbc连接字符串中执行DynamicPrepare = 1来查看是否有任何改变。
您需要列出odbc驱动程序的版本(指向sybdrvodb.dll,然后单击属性或在odbc管理器中查找 Adaptive Server Enterprise)和您要连接的ASE(选择@@ version)。 这将有助于查看是否存在问题。
感谢,黎明
最多设置5个标签!
嗨,
因此,isql通常是直接的sql prepare and execute语句,这取决于在数据是参数化还是动态的情况下,在代码中进行调用的方式可以更改。 实际上,动态应该更快。
您已经确定该计划与众不同,并且是导致问题的原因。 ASE中有CR。
可能只是设置ASE选项或修改odbc连接。 也许在odbc连接字符串中执行DynamicPrepare = 1来查看是否有任何改变。
您需要列出odbc驱动程序的版本(指向sybdrvodb.dll,然后单击属性或在odbc管理器中查找 Adaptive Server Enterprise)和您要连接的ASE(选择@@ version)。 这将有助于查看是否存在问题。
感谢,
黎明
一周热门 更多>