【问题标题】:Begin and monitor progress on long running SQL queries via ajax通过 ajax 开始并监控长时间运行的 SQL 查询的进度
【发布时间】:2009-08-18 09:25:50
【问题描述】:

是否可以启动需要大量时间的查询并通过 Ajax 从 UI 监控进度?

我考虑将进程启动为计划立即运行的“运行一次”作业。我可以将结果存储在一个临时表中,以便在完成后快速检索。我还可以记录报告的运行时间并取平均值,以估算进度条的运行时间。

我目前使用 Microsoft SQL 2005,但如有必要,我愿意使用其他 DBMS,例如 SQL 2008、MySQL 等。

【问题讨论】:

    标签: sql ajax tsql sql-server-agent


    【解决方案1】:

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

    您有第二个数据库连接来监控源行中处理了多少行,并每隔几秒显示一个简单的“x 行处理”

    SELECT COUNT(*) FROM TargetTable WITH (NOLOCK)
    

    如果你也有源表:

    SELECT COUNT(*) FROM SourceTable WITH (NOLOCK)
    

    ..那么你可以使用“x of y rows processed”

    基本上,您必须使用第二个连接来监控第一个。但是,您还需要测量一些东西...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多