现在的位置: 首页 > 综合 > 正文

android SQLite 优化(一)insert优化 1

2018年06月09日 ⁄ 综合 ⁄ 共 534字 ⁄ 字号 评论关闭

当你执行SQLite 时, SQLite 内部是编译执行的。

当循环插入多条数据时,可以使用complieStatement 让语句在循环外只编译一次

<span style="white-space:pre">		</span>String[] sCheeseNames = {"a","b","a","b","a","b","a","b"};
        	String[] sCheeseOrigins = {"aa","bb","aa","bb","aa","bb","aa","bb"};
        	SQLiteDatabase db = SQLiteDatabase.create(null);
        	SQLiteStatement stmt = db.compileStatement("INSERT INTO cheese VALUES(?,?)");
        	int i = 0;
        	for (String name:sCheeseNames){
        		String origion = sCheeseOrigins[i++];
        		stmt.clearBindings();
        		stmt.bindString(1, name);
        		stmt.bindString(2, origion);
        		stmt.executeInsert();
        	}

这样,只执行了一次编译,并且绑定值是比编译更轻量级的操作

抱歉!评论已关闭.