我正在使用一个Android应用程序,我正在使用Content Provider。我重写了 insert()和 bulkInsert()方法。
我将在不同的场景中使用 insert()和 bulkInsert()。 我知道 bulkInsert()在内部使用 insert()。
我需要事务是原子的。我应该在中使用 beginTransaction()和 endTransaction() 插入和 bulkInsert ?
答案 0 :(得分:0)
当您插入批量数据时,使用
非常重要BeginTransaction();
SetTransactionSuccessful();
EndTransaction();
因为如果你不这样做,SQLite本身将使用隐式事务包装每个查询。通过使用BeginTransaction()和EndTransaction(),您可以提高性能。有关详细信息,请阅读https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-insertions-971aff98eef2
当您只使用一条记录时,您可以忽略BeginTransaction()和EndTransaction()。
类似的帖子 beginTransaction(), endTransaction(), and setTransactionSuccessful(). What exactly do they do?