1
我有一個iPhone應用程序正在使用web服務與網站同步。我使用的同步程序如下:關於iPhone和網站同步的想法
- 發送需要同步從iPhone到網站
- 將項目添加到網站MySql數據庫
- 發回需要從網站同步到iPhone項目的項目
- 添加在iPhone上的SQLite數據庫項目
所有這一切,用一個請求到服務器來完成。用戶通常只有幾個項目(< 20)同步,但有時用戶可能有2000個項目要同步。將2000個項目添加到MySql數據庫可能需要一些時間。我使用的交易和增加的項目,這樣的事情時,提交的網站上:
mysqlTransaction.BeginTransaction();
foreach item sent from iPhone
{
mysql.CommandText = //Sql query
mysql.ExecuteNonQuery();
}
mysqlTransaction.Commit();
有時,當用戶有很多項目的增加,這可能需要一個veeery很長一段時間。因此,我的想法是稍微改變同步過程,而不是使用一個大的請求,而是將請求分成塊,可能一次發送和接收50個項目。這會導致更多但更快的請求。你有什麼想法呢?你會如何解決它?使用事務並在服務器上提交是否正確?
我只對事務進行莫名其妙的連接,如果某個查詢失敗,會導致某種腐敗或數據完整性問題。我明白你爲什麼在這裏使用交易,但我不會使用交易,除非你想改變確認。其他人可能會不同意。我不確定。 – Layke 2010-07-28 09:34:58
我在這裏使用事務的想法是使項目的插入速度比不使用事務更快。我錯了嗎? – Mrbiggerm 2010-07-28 09:45:13