Obj-C,sqlite Commit Transaction,可以在事务中使用Selects吗?

时间:2012-02-22 11:31:46

标签: objective-c ios cocoa-touch sqlite

我在我的应用程序中提高了查询的性能,我有几个函数,我纯粹做插入/更新,添加begin / commit大大提高了速度。

但是,我在应用程序启动时运行的主要功能是基于彼此的条件插入/更新和选择。

我担心的是我会开始事务,有条件地将一些数据插入表X,然后在表X上选择,查询将找不到任何数据,直到提交事务,我的问题是否正确?< / p>

作为一种解决方法,我可以使用begin / commit进行插入/更新,然后执行select,然后在begin / commit中执行进一步的事务处理吗?

请不要告诉我使用FMDB或核心数据,我已经致力于这条路径,提供一些修复。

1 个答案:

答案 0 :(得分:0)

  

担心的是我会开始事务,有条件地将一些数据插入表X,然后在表X上选择,查询将找不到任何数据,直到提交事务,我的关注是否正确?< / p>

没有。作为BEGIN TRANSACTION状态的文档,更新和插入始终在事务中完成,因此如果存在,您将看到此问题。当然,这假定所有SQL语句都使用相同的数据库连接完成。