mysql索引使用需要注意的几个事项

如果查询中 索引列被用在了计算表达式或者函数中,那么他一般不会使用到索引,这个是索引使用的隔离性
前缀索引能很好的减少索引以及提高查询速度,但是他不能用在覆盖索引中,也不能用order by和group by

在explain 一个sql语句的时候 产生的结果中的type如果值为index代表mysql会扫描索引,不可以把extra中的using index混淆


按照索引进行排序,必须order by子句和索引顺序完全一致才可以并且所有列的排序方向都一样才可以,不能有按照升序排列又有按照降序排列,而且所引用的列都必须是索引


如果查询连接了多个表,必须order by引用的列在第一个表才可以


如果在查询排序中 order by子句没有用到索引最左前缀,那么最左前缀必须是一个常量才可以
任何modify column的操作都会重建该表
如果想不重建需要这样  alter table tname alter column cname 。。


mysql内部执行的所有查询都会被强制转换为链接查询

posted @ 2014-08-27 10:46  Biguru  阅读(231)  评论(0编辑  收藏  举报