57,054
社区成员




佬们 在学习索引时实操发现似乎没有遵循最左前缀法则也使用了索引,为啥
CREATE INDEX idx_department_did_dname_location ON department(did,dname,location);
EXPLAIN SELECT dname FROM department WHERE location = '图书馆';
首先是由于该查询符合索引覆盖,是在复合索引上查询到了结果,且查询也仅在索引上。
然后是索引访问方式的问题,由于没有遵守左前缀原则,对结果的查询是全量扫描索引。
最后就是失效是未能有效利用已创建的索引,导致查询效率降低或转而采用全表扫描等其他方式。符合失效描述。