MySQL 資料庫索引
阿新 • • 發佈:2018-12-13
資料庫的索引好比是新華字典的音序表,它是對資料庫一列或多列的值進行排序後的一種結構,其目的是提高表中資料的查詢速度。MySQL中的索引分為
索引種類 | 說明 |
普通索引 | 普通索引是由KEY或者INDEX定義的索引,是基本索引型別,可以建立在任何資料中 |
唯一索 引 |
唯一索引是由UNIQUE定義的索引,該所因所在的欄位的值必須唯一 |
全文索引 | 全文索引是由FULLTEXT定義的索引,他只能建立在CHAR ,VARCHAR,TEXT型別的欄位上 |
單列索引 | 單列索引指的是在表中單個欄位上建立索引,他可以是普通索引唯一索引,全文索引 |
多列索引 | 多列索引指的是在表中多個欄位上建立索引,只有在查詢條件中使用了這些欄位中的第一個欄位時,該索引才會被使用, |
1、建立索引
以建立普通索引為例:
在建立表t1時,在t1表中id欄位上建立索引,SQL語句如下:
CREATE TABLE t1(id INT,
name VARCHAR(20),
socre FLOAT,
INDEX (id));
查看錶的結構,結果如下:
可以看到表t1的id欄位已經建立了一個名稱為id的索引,為了檢視索引是否被使用我們可以使用EXPLAIN語句進行檢視,查詢結果如下:
在圖中可以看到key和possible_key都為id,這說明id索引已經存在且被使用
2、刪除索引
1、使用ALTER TABLE刪除索引 其基本語法格式為:
ALTER TABLE 表名 DROP INDEX 索引名
舉例刪除表t1的索引,首先通過SHOW CREATE TABLE 語句查看錶t1的資訊,資訊如下所示:
可以看到這其中有一個名為id的索引並且指向id欄位
刪除索引之後執行剛剛的查詢語句,結果如下:
可以看到名為id的索引被刪除了