对于单个表的单个列而言,如果都有形如T.C=expr这样的子句,并且都是用OR操作符连接起来,形如: x = expr1 OR expr2 = x OR x = expr3,由于在SQLite中不能利用索引来优化OR操作符,因此可以转换成带有IN操作符的子句:x IN(expr1,expr2,expr3),这样就可以用索引进行优化,效果很明显。此外,如果一个子句的操作符是BETWEEN,在SQLite中同样不能用索引进行优化,需要进行相应的等价转换:如:a BETWEEN b AND c可以转换成:(a BETWEEN b AND c) AND (a>=b) AND (a<=c)。在没有索引的情况下,OR语句执行效率会略优于IN语句的效率。