索引后比较运算符的行为有所不同

时间:2015-04-22 05:17:47

标签: sqlite

使用此架构:

CREATE TABLE temperatures(
 sometext TEXT,
 lowtemp INT,
 hightemp INT,
 moretext TEXT);

当我搜索时

select * from temperatures where lowtemp < 20 and hightemp > 20;

我得到的结果总是一条记录(由于数据的具体情况而定)。

现在,当我索引表时:

CREATE INDEX ltemps ON temperatures(lowtemp);
CREATE INDEX htemps ON temperatures(hightemp);

上面完全相同的查询停止提供预期的结果 - 现在我得到很多记录,包括lowtemp和hightemp显然不符合比较测试的记录。

我在同一个sqlite3数据库上运行它,同一个表。唯一的区别是在创建表之后添加上述2个索引语句。

有人可以解释索引如何影响这种行为吗?

0 个答案:

没有答案