0
我有一個Web應用程序,允許用戶上載Excel電子表格,以便一次將〜250,000條記錄插入數據庫。我希望有一個進度條,向用戶顯示進程的距離。監視長插入/更新查詢的進度
這裏是我的基本計劃
- 上傳電子表格
- 寫總
ExcelRow Count
到TempTable
- 遍歷細胞每行構建SQL和執行(每行)
- 客戶端發出的查詢中阿賈克斯每3秒致電一次
Count(*) From TempTable Group By ExcelRowID
- 更新進度條直到100%
有沒有更好的方法來做到這一點?有什麼我應該注意的嗎?這會工作嗎?
我使用ASP.Net 4.0,SQL Server 2008 R2的快車,EPPlus 3.0和jQuery 1.7.1
對每一行執行查詢會不會慢得多?如何配料,而不是跟蹤有多少批次已完成,剩下多少批次? – 2012-02-04 18:27:18
@RogerLindsjö所以也許可以批量做10,000行,但仍保持相同的總體結構? – Greg 2012-02-04 18:29:03
我認爲如果你的「服務器端」跟蹤更新進度而不是查詢數據庫,那會更好。所以,基本上上傳包含一個ID,你可以查詢有關Ajax的進展。對於每個批次更新id的狀態(即ajax查詢)。這也可以讓你同時執行幾個這些上傳。 – 2012-02-04 18:39:05