1. 程式人生 > >MySQL 資料庫索引

MySQL 資料庫索引

資料庫的索引好比是新華字典的音序表,它是對資料庫一列或多列的值進行排序後的一種結構,其目的是提高表中資料的查詢速度。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的索引被刪除了