我认为,根据的包含 是:
查询中的WHERE子句分为“条款”,其中每个条款都由AND运算符分隔。如果WHERE子句由由OR运算符分隔的约束组成,则整个子句将被视为应用OR子句优化的单个“项”。
也许值得一试ANALYZE
,看看是否可以改善情况。
根据评论:
我认为前面添加的段落可以阐明为什么ABS(xy)<k不使用索引,为什么x
要通过索引使用,术语必须具有以下形式之一: 列=表达式 列IS表达式 列>表达式 列> =表达式 列<表达式 列<=表达式 表达式=列 表达式>列 表达式> =列 表达式<列 表达式<=列 列IN(表达式列表) 列IN(子查询) 列IS NULL
我不确定是否可以使用BETWEEN
(例如WHERE column BETWEEN expr1 AND expr2
)。