1. 程式人生 > 實用技巧 >2020-10-09 資料庫索引

2020-10-09 資料庫索引

一 索引優勢

  1. 通過建立索引,可以在查詢的過程中,減少查詢時間
  2. 建立唯一索引,保證資料的的唯一性
  3. 創在使用分組和排序子句對索引列進行資料檢索時,可以減少查詢中分組和排序的時間(MySQL查詢只使用一個索引,因此如果where子句中已經使用了索引的話,那麼order by中的列是不會使用索引的)
  4. 對於外來鍵建立索引,可以加速表與表直接的相連

二 索引劣勢

  1. 佔用物理空間
  2. 建立和維護需要時間
  3. 鑑於第二點,所以在新增,修改,刪除資料時,會涉及到索引的更新,導致更加消耗時間

三 索引使用的列

(鑑於優勢來引導)

  1. 經常用去查詢的列
  2. where中的查詢列
  3. 用於關聯的列
  4. 用於分組,排序的列
  5. 主鍵列建立主鍵索引
  6. 經常需要根據範圍進行搜尋的列上

四 索引失效

  1. 條件中用or ,注意:

  2. 對於多列(複合、聯合)索引,不是使用的第一部分,則不會使用索引。(最左匹配原則或者叫做最左字首原則)

  3. like的模糊查詢以%開頭,索引失效。
  4. 判斷索引列是否不等於某個值時。‘!=’操作符。
  5. 對索引列進行運算。
  6. 查詢時使用is null 或is not null。
  7. 如果列型別是字串(varchar),那一定要在條件中將資料使用引號引用起來,否則不會使用索引

五 索引演算法

好難。。。。