mysql组合索引没效果的原因
解决方法:
这是因为MYSQL组合索引遵循“最左前缀”的原则。简单的理解就是只从最左边的索引开始组合。组合索引中第一列必须出现在查询条件中,组合索引才起作用。
例如:
t_user 表中USERNAME,CITY,PHONE三个字段组合成一个索引name_city_phone
ALTER TABLE t_user ADDINDEX name_city_phone(USERNAME,CITY,PHONE) //组合普通索引
只有以下情况组合有效:
SELECT * FROM t_user where USERNAME="parry" and CITY="州" and PHONE="0"
SELECT * FROM t_user where USERNAME="parry" and CITY="州"
SELECT * FROM t_user where USERNAME="parry" and PHONE="0"
SELECT * FROM t_user where USERNAME="parry"