什麼是索引:包含了數據庫表的所有數據的引用指針,在innodb中是表空間的一部分,在Myisam中保存在一張表中。
原理:查找一個字段的平均效率是N/2,爲表中的一個字段建立索引,將創建一個額外的數據結構包含了字段數值和指針,然後對該數據結構進行了排序
在該排序列的基礎上查找可以使用二分法查找,所以效率更高。
索引的分類:普通索引,唯一索引,全文索引,單一索引和組合索引。
索引失效的幾種方式:
1.無條件的時候
2.條件中存在<>
3.條件中字符串沒有用''
4.模糊查詢 %在前面
5.條件中有or
6.not in
7.對索引列進行計算
explain + sql查詢sql的效率
key : null表示沒有應用索引
type const > eq_reg > ref > range > index > all