1.mysql的索引分為單列索引(主鍵索引-不允許空值,唯一索引-允許空值,普通索引)和組合索引.
??? 單列索引:一個索引只包含一個列,一個表可以有多個單列索引.
???? 組合索引:一個組合索引包含兩個或兩個以上的列
2.使用:經(jīng)常需要查詢的列
? ? ? ? ? ? 在經(jīng)常需要排序(order by),分組(group by)和的distinct 列上加索引 可以加快排序查詢????? 的時間,? (單獨(dú)order by 用不了索引咒循,索引考慮加where 或加limit)
3.聯(lián)合索引:離散度(判斷:select count(distinct id),count(distinct name) from? tablename? 查詢結(jié)果越高就放在聯(lián)合索引前面,即是離散度越高)-index(id钮呀,name)剑鞍,id離散度高
4.加索引,增加查詢效率爽醋,同時也會降低寫入效率(也可能影響查詢)
減去重復(fù)的索引(主鍵本來就是索引),聯(lián)合主鍵不要加主鍵列便脊,
刪除不必要的索引:使用工具:pt-duplicate-key-checker \
??????????????????????????????????????????????? -uroot \
???????????????????????????????????????????????? -p ' 123456' \
???????????????????????????????????????????????? -h 127.0.0.1