1. 程式人生 > >MySQL索引——[面試系列]

MySQL索引——[面試系列]

索引對效能的影響: 大大減少伺服器需要掃描的資料量,大大提高查詢速度,缺點降低寫的速度,佔用磁碟空間;非常小的表,大部分情況下全表掃描效率更高

索引型別: 普通索引、唯一索引、主鍵索引、組合(複合)索引、外來鍵索引、全文索引

MySQL索引的建立原則

  1. 對於查詢頻率高的欄位建立索引
  2. 對排序、分組、聯合查詢頻率高的欄位建立索引
  3. 索引的數目不宜太多
  4. 若在實際中,需要將多個列設定索引時,可以採用多列索引
  5. 選擇唯一性索引
  6. 儘量使用資料量少的索引
  7. 儘量使用字首來索引
  8. 刪除不再使用或者很少使用的索引

MySQL複合索引的注意事項:

  1. 字首原則,也就是最左原則,列跳過即索引失效
  2. like查詢,%不能在放在前,索引會失效, 列為null可以使用索引,like查詢,%不能在放在前,索引會失效
  3. 列為null可以使用索引,列為null可以使用索引
  4. or條件的列有索引,後面列沒有,索引會失效
  5. 列型別是字串,查詢時沒有加引號,索引會失效
  6. 當不用索引比用索引查詢效率更高時,MySQL會放棄索引,MySQL優化器自動選擇