我的Android应用程序使用SQLite和ORMLite来处理数据。需要一次插入大量数据,我想让它比现在更快。为此,我想删除索引,然后插入数据,然后重新创建索引。
问题:
是当应用程序创建数据库时 - SQLite 会自动向 db 中的某些字段添加索引。他们叫sqlite_autoindex_%TableName%%ColumnName%_1
我的 ORM 实体具有标记为在 db 中编制索引的字段。在创建表之后,ORMLite 会创建索引。SQLIte 自动索引复制由 ORMLite 创建的索引,因此我需要配置 SQLite 以关闭自动索引。我发现此功能会在查询“ PRAGMA automatic_index = false;”时关闭,因此我覆盖了以下方法OrmLiteSqliteOpenHelper:
@Override
public SQLiteDatabase getWritableDatabase() {
SQLiteDatabase db = super.getWritableDatabase();
db.execSQL("PRAGMA automatic_index = false;");
return db;
}
Run Code Online (Sandbox Code Playgroud)
那没有帮助。查询的地方不对?请帮忙