日期:2014-05-16  浏览次数:20738 次

关于mysql索引
有一个表t_test(userid(int),age(int),register_time(int),sex(smallint)),一条查询语句"select userid from t_test where sex=$sex and age=$age order by register_time limit 10";对于这个查询来说,是在age,register_time,sex三列建一个联合索引效率高,还是,sex和age上建一个联合索引,register_time单独建一个索引效率好?

------解决方案--------------------
对于这个sql
alter table t_test add index(age,sex,register_time) 索引字段顺序很重要

你说的其他两个索引基本对这个sql没什么用
------解决方案--------------------
探讨

再有,如果是"select userid from t_test where age=$age order by register_time limit 10",这样的话,该如何建立索引呢

------解决方案--------------------
如果是"select userid from t_test where age=$age order by register_time limit 10"
create index xxx on t_test(age,register_time);