MySQL是一種關系型數據庫,提供了多種索引方式,包括:
1. PRIMARY KEY索引 主鍵索引是一種唯一索引,用于標識表中每一行的唯一性。主鍵索引可以自動創建,也可以手動指定。 例如,CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20)); 在上述語句中,id字段是主鍵,并且自動增加。 2. UNIQUE索引 唯一索引表示表中的每個值都是唯一的。與主鍵索引相比,唯一索引可以有多個,但每個索引只能有一個值。 例如,CREATE TABLE t2 (id INT, name VARCHAR(20), UNIQUE (id)); 3. INDEX索引 普通索引用于加速對表的查詢,可以包含重復值。索引可以跨多列定義。 例如,CREATE TABLE t3 (id INT, name VARCHAR(20), INDEX (name)); 4. FULLTEXT索引 全文索引是用于全文搜索的索引。只能用于MyISAM引擎,并且只支持英文搜索。 例如,CREATE TABLE t4 (id INT, title VARCHAR(200), body TEXT, FULLTEXT (title, body)); 5. SPATIAL索引 空間索引用于存儲和查詢空間數據類型。只能在MyISAM引擎上使用。 例如,CREATE TABLE t5 (id INT, location POINT, SPATIAL (location)); 6. FOREIGN KEY索引 外鍵索引用于維護兩個表之間的關系。在MyISAM引擎下不支持。 例如,CREATE TABLE t6 (id INT, name VARCHAR(20), other_id INT, FOREIGN KEY (other_id) REFERENCES other_table(id));