Mysql之索引的分類

在瞭解mysql索引的分類之前,要先注意以下幾點:

  • 索引可以加快查詢的速度,但是會影響插入數據的速度。(在插入數據的同時,數據庫會按照索引排序。所以在插入大量的數據時,可以先刪除索引,插入完成以後,再創建索引);
  • 索引的最終目的是爲了使查詢數據的速度變快;
  • 要根據實際情況,選擇最合適的的索引方式;

Mysql的索引包括普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引等。

  1. 普通索引:在創建普通索引時,不附加任何限制條件。這類索引可以創建在任何數據類型中,其值是否唯一和非空由字段本身的完整性約束條件決定。建立索引以後,查詢時可以通過索引進行查詢。例如,在student表的stu_id字段傷建立一個普通索引。查詢記錄時,就可以根據該記錄進行查詢。

  2. 唯一性索引:使用UNIQUE參數可以設置索引爲唯一性索引。在創建唯一索引時,限制該索引的值必須是唯一的。例如,在student表的stu_name字段中創建唯一性索引,那麼stu_name字段的值就必須是唯一的。通過唯一性索引,可以更快速地確定某條記錄。主鍵就是一種特殊唯一性索引。
  3. 全文索引:使用FULLTEXT參數可以設置索引爲全文索引。全文索引只能創建在CHAR、VARCHAR或TEXT類型的字段上。查詢數據量較大的字符串類型的字段時,使用全文索引可以提高查詢速度。例如,student表的information字段是TEXT類型,該字段包含了很多的文字信息。在information字段上建立全文索引後,可以提高查詢information字段的速度。在默認情況下,全文索引的執行方式不區分大小寫。但是索引的列使用而今排序後,可以執行區分大小寫的全文索引。
  4. 單列索引:在表中的單個字段上創建索引。單列索引只根據該字段進行索引。單列索引可以是普通索引,也可以是唯一性索引,還可以是全文索引。只要保證該索引只對應一個字段即可。
  5. 多列索引:多列索引是在表的多個字段上創建一個索引。該索引只想創建時對應的多個字段,可以通過這幾個字段進行查詢。但是,只有查詢條件中使用了這些字段中第一個字段時,索引纔會被使用。例如,在表中的id、name和sex字段上建立一個多列索引,那麼只有查詢條件使用了id子彈時該索引纔會被使用。
  6. 空間索引:使用SPATIAL參數可以設置索引爲空間索引。空間索引只能建立在空間數據類型上,這樣可以提高系統獲取空間數據的效率。MySQL中的空間數據類型包括GEOMETRY和POINT、LINESTRING和POLYGON等。

 

 

 

最近在學習Mysql數據庫的優化,喜歡的話,關注我吧!

別忘了點贊喲!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章