我在Android上的SQLite数据库中插入了大量记录。为了改善插入时间,我正在考虑在完全添加数据后在表上创建索引。
我的问题是,数据库在什么时候实际构建了针对表中值的索引?一旦我发出SQL语句(create index index_name on table ...
),它是否会发生,或者数据库是否可以推迟到第一个查询到达之后?
谢谢, 兰吉特
答案 0 :(得分:1)
它会在您发出create index
命令后立即创建索引。相关代码在sqlite3CreateIndex
中,这将创建索引并将其写入磁盘(除了特殊情况,它被称为数据库打开操作的一部分,但用户创建索引时不是这种情况)。