我有一个通过ajax调用执行的SQL查询,但我需要能够检查它的进度并更新进度条。
这是我简单的ajax调用(使用JQuery):
var strResult = (($.ajax({url: URL,async: true}).responseText));
任何想法我如何监听更改以更新栏?
PS。这个问题与SQL无关。
答案 0 :(得分:-1)
如果您可以将查询分解为可以单独执行的许多组件,您可以不断询问服务器的进度。
例如,如果必须向db中插入大量数据,而不是向db发出一个巨大的请求:
INSERT INTO table VALUES (..), (..), .. ;
你可以把它分成许多插入语句:
INSERT INTO table VALUES (..);
...
INSERT INTO table VALUES (..);
然后,在任何阶段,您始终可以计算可以为您提供百分比的行数。
例如,您知道您要插入20000行。然后使用ajax调用服务器来执行此操作:
SELECT COUNT(*) FROM table
将返回最多20000的数字,您可以计算百分比。
另一种解决方案是使用websockets,但这需要大量的配置。