ASE 15.5 ODBC的性能不佳

2020-08-25 19:49发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在数据库上运行统计信息时,无法执行来自IIS上.NET ODBC连接的查询。 30秒后超时。 当我们运行来自isql的相同查询时,执行速度非常快。 即使我们取消了收集统计信息流程,问题也没有解决。 3小时后,当我们重新启动IIS时,该案例解决了。

当从isql运行查询时,似乎正在获取正确的计划,而从IIS运行时则正在执行全表扫描

什么可能导致问题?

为什么在两种情况下数据库都没有使用相同的执行计划?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在数据库上运行统计信息时,无法执行来自IIS上.NET ODBC连接的查询。 30秒后超时。 当我们运行来自isql的相同查询时,执行速度非常快。 即使我们取消了收集统计信息流程,问题也没有解决。 3小时后,当我们重新启动IIS时,该案例解决了。

当从isql运行查询时,似乎正在获取正确的计划,而从IIS运行时则正在执行全表扫描

什么可能导致问题?

为什么在两种情况下数据库都没有使用相同的执行计划?

付费偷看设置
发送
1条回答
派大星 ヾ
1楼-- · 2020-08-25 20:01

嗨,

因此,isql通常是直接的sql prepare and execute语句,这取决于在数据是参数化还是动态的情况下,在代码中进行调用的方式可以更改。 实际上,动态应该更快。

您已经确定该计划与众不同,并且是导致问题的原因。 ASE中有CR。

可能只是设置ASE选项或修改odbc连接。 也许在odbc连接字符串中执行DynamicPrepare = 1来查看是否有任何改变。

您需要列出odbc驱动程序的版本(指向sybdrvodb.dll,然后单击属性或在odbc管理器中查找 Adaptive Server Enterprise)和您要连接的ASE(选择@@ version)。 这将有助于查看是否存在问题。

感谢,
黎明

一周热门 更多>