sqlite 开启事务可以提高效率

最近做一个东西,用到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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值