【发布时间】:2011-03-02 02:22:40
【问题描述】:
我正在向 Android 上的 SQLite 数据库中插入大量记录。为了缩短插入时间,我正在考虑在完全添加数据后在表上创建索引。
我的问题是,数据库实际上在什么时候根据表上的值构建索引?是在我发出 SQL 语句 (create index index_name on table ...) 后立即发生,还是数据库可以推迟到第一个查询到达?
谢谢, 兰吉特
【问题讨论】:
-
您可以在现有的完全填充的表的顶部创建索引(或多个)。但是,我强烈建议您考虑您的用例,然后仔细选择索引列的顺序,然后相应地创建索引(或多个索引)。您也可以通过实验找到最佳值。仅通过巧妙地选择索引,我的性能差异就达到了一个数量级......