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