MySQL 索引的分類
MySQL的索引包括普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引等。本小節將詳細講解這幾種索引的含義和特點。
1.普通索引
在建立普通索引時,不附加任何限制條件。這類索引可以建立在任何資料型別中,其值是否唯一和非空由欄位本身的完整性約束條件決定。建立索引以後,查詢時可以通過索引進行查詢。例如,在student表的stu_id欄位上建立一個普通索引。查詢記錄時,就可以根據該索引進行查詢。
2.唯一性索引
使用UNIQUE引數可以設定索引為唯一性索引。在建立唯一性索引時,限制該索引的值必須是唯一的。例如,在student表的stu_name欄位中建立唯一性索引,那麼stu_name欄位的值就必需是唯一的。通過唯一性索引,可以更快速地確定某條記錄。主鍵就是一種特殊唯一性索引。
3.全文索引
使用FULLTEXT引數可以設定索引為全文索引。全文索引只能建立在CHAR、VARCHAR或TEXT型別的欄位上。查詢資料量較大的字串型別的欄位時,使用全文索引可以提高查詢速度。例如,student表的information欄位是TEXT型別,該欄位包含了很多的文字資訊。在information欄位上建立全文索引後,可以提高查詢information欄位的速度。MySQL
使用SPATIAL引數可以設定索引為空間索引。空間索引只能建立在空間資料型別上,這樣可以提高系統獲取空間資料的效率。MySQL中的空間資料型別包括GEOMETRY和POINT、LINESTRING和POLYGON等。目前只有MyISAM儲存引擎支援空間檢索,而且索引的欄位不能為空值。對於初學者來說,這類索引很少會用到