sqlite 开启事务可以提高效率

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 19:16   2901   0

最近做一个东西,用到sqlite 插入100多条数据 大概要1700ms 大概1.7秒。我后来开起来事务。直接才161ms 效率提高十倍

<span style="font-size:18px;"> public void insertPO(List<Poetry> poetryList) {

  SQLiteDatabase database = null;
  try {
   database = helper.getWritableDatabase();
   <span style="background-color: rgb(255, 0, 0);">database.beginTransaction();</span>
   for (int i = 0; i < poetryList.size(); i++) {
    Poetry poetry = poetryList.get(i);
    ContentValues cv = new ContentValues();
    cv.put("poetryid", poetry.getPoetryid());
    cv.put("title", poetry.getTitle());
    cv.put("kindid", poetry.getKindid());
    cv.put("typeid", poetry.getTypeid());
    cv.put("writerid", poetry.getWriterid());
    cv.put("content", poetry.getContent());
    if (!helper.isExist("Poetry", "poetryid", poetry.getPoetryid(),
      database)) {
     database.insert("Poetry", null, cv);
    }
   }
   <span style="background-color: rgb(255, 0, 0);">database.setTransactionSuccessful();</span>
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   if (database != null) {
    <span style="background-color: rgb(255, 0, 0);">database.endTransaction();</span>
    database.close();
   }
  }
 }</span>


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP