昨天我问了一个问题:Timeout on select query from external service after making an update on the same table但是我正在开始关于同样问题的新对话,因为我对它进行了更多的调查,现在事实证明它与我之前的想法有点不同。
这是我使用应用程序中的函数后来自数据库监控工具的图片。这三个绿色查询是从我的java应用程序启动的,它们是:
然后调用外部服务,在MyTable(红色)上进行选择查询。此查询超时(因为它无法从MyTable读取)。我不知道为什么。我尝试使用更新查询来修改第二个过程,以便在调用外部服务之前提交这些更新。我试过了:
只在程序中添加更新查询
CREATE PROCEDURE
...
AS
BEGIN
UPDATE
....
UPDATE
....
END
将更新查询放入事务并将其提交到此过程
但仅当我结束以下程序时:
IF @@TRANCOUNT > 0 COMMIT TRAN
没有在此过程中启动事务我没有在(红色)选择查询上获得超时。但这似乎是一个糟糕的想法,提交交易,我不知道从哪里开始。
任何想法我可以做些什么或如何调查这个问题?基本上我卡在这里,不知道下一步该做什么。