比如创建一个联合索引,
create index inx_t1_bcd on t1 (b,c,d);
其实他默认的是这样:
create index inx_t1_bcd on t1 (b asc,c asc,d asc);
当然它也可以用倒排序:
create index inx_t1_bcd on t1 (b asc,c desc,d desc);
在mysql8以前,语法上虽然可以这样写,也可以这样执行, 但没有效果,可以用 show index t1 ; 查看。
只有在mysql8才起效果。
所以,当order by后面能和创建时的索引全部都对应上,就能走索引,这是mysql8才有的(能走倒排索引),当order by 对应不上,不会走索引。