正确答案是A where c1=x and c2=x and c4>x and c3=x
MySQL联合索引遵循最左前缀匹配原则。
选项A中,虽然c4出现在c3之前,但由于c4使用了范围查询(>),导致索引无法继续往后匹配,因此只能使用(c1,c2,c3)部分。
其他选项:
- 选项B,使用了order by c3,由于c1、c2、c4都是等值匹配,可以继续使用c3进行排序。
- 选项C,使用了group by c3,c2,由于c1是等值匹配,可以继续使用c2、c3进行分组。
- 选项D和E,由于没有c1和c2的等值匹配,无法使用该联合索引。