美文网首页
mysql索引

mysql索引

作者: woshi开心 | 来源:发表于2019-07-20 21:50 被阅读0次

    索引知识点:
    1.离散度
    2.mysql优化器:当离散度很低,查询全表与通过索引查询时间差不多,则不会通过索引查询
    2.联合索引最左匹配:
    alter table xx add index ‘aa’(‘name’,‘phone’)
    检索时,会先根据name进行索引,找到下层,在通过phone查找
    如果查询语句中没有name,则用不到索引
    3.explain select * from xx where name='aa' and phone ='11111xx'
    explain中显示rows,代表查找的行数
    3.联合索引:比如创建了index(a,b,c),相当于创建index(a),index(a,b),index(a,b,c)
    当通过b,c查询时,用不到索引
    4.覆盖索引:查询的数据在索引中存在时,不需要去数据库中查询,大大提高了消息,explain 中extra=from index
    比如:index('name','phone')
    select name,phone from xx where name='xx'
    注意点:
    当查询类型为字符类型,用一个数字去查询,会发生一个类型的隐士转换,导致用不到索引
    索引优化手段:
    1.选择的索引列的长度不应该过长
    2.where条件中not in和<>都无法使用索引
    3.模糊匹配like abc%能用到索引--最左匹配,like%2673%用不到索引
    4.尽量不要使用select *,写明具体查询字段
    5.索引列不要参与计算:索引列参与计算,会导致索引失效

    相关文章

      网友评论

          本文标题:mysql索引

          本文链接:https://www.haomeiwen.com/subject/ahcplctx.html