MYSQL-索引

1.mysql的索引分为单列索引(主键索引-不允许空值,唯一索引-允许空值,普通索引)和组合索引.

    单列索引:一个索引只包含一个列,一个表可以有多个单列索引.

     组合索引:一个组合索引包含两个或两个以上的列


2.使用:经常需要查询的列

            在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询      的时间,  (单独order by 用不了索引,索引考虑加where 或加limit)

3.联合索引:离散度(判断:select count(distinct id),count(distinct name) from  tablename  查询结果越高就放在联合索引前面,即是离散度越高)-index(id,name),id离散度高

4.加索引,增加查询效率,同时也会降低写入效率(也可能影响查询)

减去重复的索引(主键本来就是索引),联合主键不要加主键列,

删除不必要的索引:使用工具:pt-duplicate-key-checker \

                                                -uroot \

                                                 -p ' 123456' \

                                                 -h 127.0.0.1

你可能感兴趣的:(MYSQL-索引)