TADOStoredProc/TADOQuery CommandTimeout...?‏



客户端正在抛出错误"Timeout"以触发对数据库的某些命令。

我纠正的第一个测试选项是将CommandTimeout增加到99999…但我担心这种处理方法会产生更多的问题。

你经历过吗?我想知道我的问题是否相关,以及/或者是否有另一种更健壮和优雅的纠正方法。

您认为提高超时时间不是正确的方法是正确的。通常,我寻找在超时时间周围运行的日志运行查询。它们通常会在持续时间和阅读量方面脱颖而出。

然后我将使用以下方法减少查询运行时间:

https://www.simple-talk.com/sql/performance/simple-query-tuning-with-statistics-io-and-execution-plans/

如果这是一个报告导致的问题,你不能让它运行得更快,你可能需要开始考虑设置一个报告数据库

CommandTimeout是客户端等待服务器响应的时间。如果查询在主VCL线程中运行,那么整个应用程序将被"冻结",并可能被Windows标记为"未响应"。所以,你希望你的用户在冻结的应用上等待99999秒吗?

一般来说,将Timeout值保持默认值,而像Sam建议的那样专注于优化查询。如果你碰巧有长时间运行查询(即。一些后台数据移动,计算等存储过程)设置CommandTimeout为0 (=INFINITE),但在一个单独的线程中运行。

相关内容

  • 没有找到相关文章

最新更新