|
sqlite数据库更新500条数据花了43秒,汗一个
public void addIndexs(List<SearchIndex> newIndexs) { if (newIndexs == null || newIndexs.size() == 0) return; SQLiteDatabase database = SQLiteDatabase.openDatabase(dbPath,PWD,null,SQLiteDatabase.OPEN_READWRITE); //SQLiteDatabase database = SQLiteDatabase.openDatabase(dbPath,SQLiteDatabase.OPEN_READWRITE);
String insertSql = "INSERT INTO SearchIndex VALUES (?,?,?)";
String deleteSql = "delete from SearchIndex where (StaffID=? or StaffID=?)";
database.beginTransaction();
SearchIndex tempIndex = null; for (int i = 0; i < newIndexs.size(); i++) { tempIndex = newIndexs.get(i);
database.execSQL( deleteSql, new String[] { tempIndex.S.toUpperCase(), tempIndex.S.toLowerCase() });
database.execSQL(insertSql,new String[] { tempIndex.S, tempIndex.N,tempIndex.J,tempIndex.P,tempIndex.L, tempIndex.E}); } database.setTransactionSuccessful(); database.endTransaction(); database.close(); }
每次的execSQL操作都是对数据库的一次事务
加上红色代码后,耗时变成了2秒
??
?? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|