SQLite在使用串联时不使用索引

时间:2011-07-10 12:21:32

标签: sql sqlite

我正在为SQLite使用以下SQL语句:

select * from words where \"word\" like ? || '%' || ? ;

为了将参数绑定到第一个和最后一个字母。我已在列word上使用和不使用索引对此进行了测试,结果是相同的。但是,以

运行查询时
select * from words where \"word\" like 'a%a';

等。 (也就是说,硬编码每个值而不是使用||,在索引时查询速度大约快x10。

有人可以告诉我如何使用索引和参数吗?

1 个答案:

答案 0 :(得分:0)

感谢sqlite邮件列表,我找到了答案。它在这里说(http://sqlite.org/optoverview.html),第4节:“LIKE或GLOB的右侧必须是字符串文字或绑定到不以通配符开头的字符串文字的参数。” / p>