在Postgres或MySQL中,是否可以创建一个索引来帮助同一表中两个列之间的区间比较?
例如,我有一个名为Test
的表,有3个列:id
,col1
和col2
,它有2000万行。查询如下:
SELECT id,col1,col2 from Test where col1 < col2;
查询规划器表示正在整个表中使用顺序扫描。这样的索引是否有效?
CREATE INDEX idx_test on Test(col1,col2);
我已经创建了它,但查询规划器仍然执行顺序扫描。
是否有一种方法来增强查询以减少执行时间?