当有多个字段建立索引的时候,要遵循最左前缀原则,即:索引为 b c d  ,要使用    c  索引就必须 要有  b字段,或者要使用  d 索引,就必须要有  b  字段的条件,看情况又是也需要  c  字段的条件

 

    覆盖索引    :   当已经建立了   b   字段的索引之后,恰好  select  b  而不是查询所有或者其他的字段,不用再回表查找数据,就直接在索引中得到需要的数据,

 

    order by 导致索引失效 :

 

                

                此时查询的是   所有数据,需要回表

 

                数据量少的时候在内存中排序是比较快的,甚至可以忽略,这时候全面扫描是不需要回表的,所以会更快

                这时 就会  order by 导致索引失效

 

 

                

 

                此时查询的是    b   字段

 

                  走索引会更快,所以就不会导致  索引失效

    MySQL数据类型转换 注意点:数字的字符会转换成  自身的数字,但是非数字的字符 比如   “b“  全部都会转换成  0  

                

                当对字段进行操作 ,比如   a+1 和  a-1 的操作后,就不能使用索引

                当查询条件是字符的时候也不能使用索引

 

     

 

posted on 2022-03-15 17:27  迎新  阅读(42)  评论(0编辑  收藏  举报