Вот простой пример:Должен ли я всегда использовать транзакции в sqlite для Android?
public boolean containsId(Long userid) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from " + getTableName() + " where id = " + userid, null);
boolean rows = cursor.getCount() > 0;
db.close();
return rows;
}
Я думал, SQLite автоматически начинает транзакцию. Мой коллега сказал, что я должен всегда начинать транзакцию.
Итак, что такое правильный шаблон? Должен ли я начинать транзакцию, если я читаю данные из базы данных? Я уверен, что ни одна другая нить не будет писать в это время в этой таблице.