Sqlite插入大量數據時提速方法

如果不加事務的循環插入的話,默認是沒插入一次是一次事務,這樣子速度會很慢。

開一個事務能提高一些速度。

代碼模版如下。

 /**
     * 插入一組數據.
     *
     * @param values    數據鍵值對.
     * @param tableName 表名.
     */
    public int insert(ContentValues values[], String tableName) {
        int flag = 0;
        db = getWritableDatabase();
        db.beginTransaction();
        try {
            for (int i = 0; i < values.length; i++) {
                db.insert(tableName, null, values[i]);
            }
            db.setTransactionSuccessful();
        } catch (Exception e) {
            e.printStackTrace();
            flag = -1;
        } finally {
            db.endTransaction();
            db.close();
        }
        return flag;
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章