我有一个以这样的方式创建的SQLite表:
CREATE TABLE ex2(_ID INTEGER PRIMARY KEY AUTOINCREMENT,x REAL,y REAL,z TEXT);
我对此表的查询始终是:
SELECT z FROM ex2 WHERE x BETWEEN 1.5 AND 100.5 AND y BETWEEN 10.2 AND 65.3;
我的查询要求满足x和y列值(REAL数据类型)的范围约束的结果。另外,澄清一下,1.5,100.5,10.2和65.3并未修复。只是为了说明一个示例查询。
x和y列值肯定不会是唯一的。
创建索引的最佳方法是什么?我的选择(到目前为止测试):
选项1:
CREATE INDEX ex2i1 ON ex2(x);
CREATE INDEX ex2i2 ON ex2(y);
选项2:
CREATE INDEX ex2i12 ON ex2(x,y);
我已经在我的Android测试设备上完成了一些(原始)性能测试,我似乎无法找到哪个索引实际上更好的具体证据。