我有一個通過ajax調用執行的sql查詢,但我需要能夠檢查它的進度並更新進度條。
這裏是我的簡單的Ajax調用(使用JQuery):
var strResult = (($.ajax({url: URL,async: true}).responseText));
任何想法如何,我聽更改更新了吧?
PS。這個問題與SQL無關。
我有一個通過ajax調用執行的sql查詢,但我需要能夠檢查它的進度並更新進度條。
這裏是我的簡單的Ajax調用(使用JQuery):
var strResult = (($.ajax({url: URL,async: true}).responseText));
任何想法如何,我聽更改更新了吧?
PS。這個問題與SQL無關。
如果您可以將查詢分解爲多個可單獨執行的組件,則可以不斷詢問服務器的進度。
例如,如果你需要插入大量的數據到數據庫,而不是使一個巨大的請求到DB:
INSERT INTO table VALUES (..), (..), .. ;
可以分解成許多插入語句:
INSERT INTO table VALUES (..);
...
INSERT INTO table VALUES (..);
然後在任何階段,你總是可以計算可以給你的百分比的行數。
例如,你知道你想插入20000行。然後,使用一個AJAX調用,這將做到這一點的服務器:
SELECT COUNT(*) FROM table
將返回一個人數多達20000可以計算出百分比。
另一種解決方案是使用websockets,但這將需要大量的配置。
哪個數據庫系統?並非所有人都提供進度信息。 – Polynomial 2012-01-31 16:10:17
這不是真正的問題!但是,sql語句是循環的,所以我可以回發回聲。 – ojsglobal 2012-01-31 16:17:23
可能的重複:http://stackoverflow.com/questions/399641/ajax-page-download-progress – tkone 2012-01-31 16:37:16