在SQLite :: SQLite of SQLite3
上如果我要查询一次SELECT。
Should I CREATE a INDEX first and then query the SELECT
or
just query the SELECT without an INDEX,
which is faster ?
如果需要指定,col。要索引是一个未定义或1的INTEGER,只有这两种可能性。
答案 0 :(得分:3)
构建索引所需的时间比仅进行表扫描要长。因此,如果您的单个查询 - 您只运行一次 - 只是一个表扫描,则添加索引会更慢。
但是,如果您的单个查询不仅仅是表扫描,则添加索引可能会更快。例如,如果没有索引,数据库可以为每个连接的行执行一次多次表连接的连接。然后索引可能会更快。
我会说要对它进行基准测试,但对于一次性查询而言,这听起来很愚蠢,你只能运行一次。
答案 1 :(得分:0)
如果考虑在只有两个可能值的列上设置和索引,则不值得努力,因为索引几乎没有什么改进。索引对于具有高度唯一性且经常查询特定值或范围的列非常有用。在其他硬索引上,插入和更新速度较慢,所以在这种情况下你应该跳过它。