???? 如果一条sql执行的时间是22秒的话,使用索引后只用0.2秒,大大提升了sql的执行效率
???? 如何创建索引呢,最简单的就是根据sql的查询条件来创建,例如:
????
select * from user where password=? and name=?
?
这是我们就可以根据password和name来创建索引
???
CREATE INDEX idx_suoyin ON user(password,name); ??
很简单吧,不过还要注意几种情况的查询不会调用索引:
1、在使用like时
条件为‘%tt’ 和‘%tt%’时不会调用,只有前面的条件固定时才会调用‘tt%’
?
2、在使用运算函数是不会调用:
比如:“<”,"<>",is null 等条件下和运算符下不会调用
?
3、两个字段以上的索引就是复合索引,复合索引在第一个字段没有调用的情况下不会使用索引,比如:
CREATE INDEX idx_suoyin ON user(password,name); select * from user where name=?//这样就不会使用索引,需要重新建立新的索引
?