如果我在InnoDB表上制作以下索引:
CREATE INDEX index_name on table_name (col1, col2)
并执行此选择查询:
SELECT col2 FROM table_name WHERE col1=some_value
MySQL会直接从索引中检索col2吗?
(我想要达到的目的是大幅加快选择过程)
答案 0 :(得分:3)
它应该。这称为index-only scan。
但可以肯定的是,您应该检查查询执行计划。
答案 1 :(得分:0)
我不认为MySQL会自动使用索引,尽管SQLite会这样做。尝试:
SELECT col2 FROM table_name use index (col1,col2) WHERE col1=some_value