我有一个经常访问本地sqlite3数据库的android应用程序,出于性能考虑,所以我始终保持连接打开.但我的一位朋友建议我每次操作都要打开/关闭连接.
1)你们对这两种方法的看法是什么?利弊/利弊.2)我做了一些测试,发现数据库连接没有太多的性能开销.DB连接的性能开销是否因DB的大小而异?
在我的活动中,我有例如
SQLiteDatabase db = openOrCreateDatabase(Preferences.DB_NAME, Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS data (id INTEGER PRIMARY KEY, value VARCHAR)");
Cursor dbResult = db.rawQuery("SELECT value FROM data", null);
// do sometning with cursors
dbResult.close();
db.close();
Run Code Online (Sandbox Code Playgroud)
什么是使用的好处SQLiteOpenHelper像
DatabaseHelper helper = new DatabaseHelper(this);
SQLiteDatabase db = helper.getWriteableDatabase();
SQLiteDatabase db_2 = helper.getReadableDatabase();
Cursor dbResult = db_2.rawQuery("SELECT value FROM data", null);
// do sometning with cursors
dbResult.close();
helper.close();
Run Code Online (Sandbox Code Playgroud)
类本身
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
super(context, Preferences.DB_NAME, null, Preferences.DB_VERSION); …Run Code Online (Sandbox Code Playgroud)