天天看點

MySQL索引介紹

索引由資料庫表中一列或者多列組合而成,其作用是提高對表中資料的查詢速度。

建立索引是指在某個表的一列或者多列上建立一個索引,用來提高對表的通路速度,

建立索引由三種方法:在建立表的時候建立,在已存在的表上建立和用alter table語句建立。

建立索引的基本文法格式:

MySQL索引介紹

asc參數表示升序排列,desc參數表示降序排列。

一,在建立表的時候建立索引

1,  建立一個普通索引:

建立一個index1的表,在其id字段上建立索引:

create table index1(id int,namevarchar(20),sex boolean,index(id));

檢視索引是否被引用àexplain select * from index1 where id=1;

MySQL索引介紹

2,  建立唯一性索引:

建立一個index2表,在id字段上建立唯一性索引,升序排列:

create table index2(id int, namevarchar(20),unique index index2_id(id asc));

建立結果如圖:

MySQL索引介紹

3,  建立全文索引;

目前隻有myisam支援全文索引。

建立一個index3表,在info字段建立全文索引:

create table index3(id int,infovarchar(20),fulltext index3_info(info))engine=myisam;

結果如圖所示:

MySQL索引介紹

4,  建立單列索引

建立index4表,在subject字段上建立單列索引:

create table index4(id int,subjectvarchar(20),index index4_sb(subject(10)));

MySQL索引介紹

5,  建立多列索引

建立index5表,在name和sex上建立多列索引:

create table index5(id int, namevarchar(10),sex boolean,index index_nasex(name,sex));

MySQL索引介紹

6,  建立空間索引:

建立index6表,在表中space字段建立空間索引,建立空間索引的字段必須有非空限制,存儲引擎必須是myisam:

create table index6(id int,space geometrynot null,spatial index index6_space(space))engine=myisam;

MySQL索引介紹

二,在已存在的表上建立索引

基本文法為:

MySQL索引介紹

首先建立index7,不設定索引:

MySQL索引介紹

為index7在id字段加一個普通索引:

create index index7_id on index7(id);

變化後結果顯示:

MySQL索引介紹

三,用alter table 語句建立索引

基本文法:

MySQL索引介紹

建立一個index8,不設定索引:

如下:

MySQL索引介紹

為name加一個索引:

alter table index8 add indexindex8_name(name(20));

變化如下:

MySQL索引介紹

四,删除索引

drop index索引名 on 表名;

索引就先看到這裡了,接下來了解一下mysql的視圖和觸發器。

繼續閱讀