2009-08-18 63 views
1

是否可以启动一个查询,这将花费大量时间并通过Ajax监视UI的进度?通过ajax开始并监控长时间运行SQL查询的进度

我认为开始这个过程是一个计划立即运行的“一次运行”作业。我可以将结果存储在临时表中,以便在完成后快速检索。我还可以记录报告的运行时间,并将其平均分数,以推测进度条的运行时间。

我现在使用的是Microsoft SQL 2005,但我愿意在必要时使用其他DBMS,如SQL 2008,MySQL等。

回答

0

一个想法,如果长时间运行的作业填充另一个表。

你有第二个数据库连接监视多少行加工出来的源行的,并显示一个简单的“X行处理”每隔几秒钟

SELECT COUNT(*) FROM TargetTable WITH (NOLOCK) 

如果你有一个源表太:

SELECT COUNT(*) FROM SourceTable WITH (NOLOCK) 

..then可以用“y行的X处理”

基本上,则必须使用一个第二连接监视第一。然而,你也需要一些东西来衡量......

+0

这听起来像是正确的想法。感谢你的回答。 – Joshua 2009-08-18 15:30:45