索引由資料庫表中一列或者多列組合而成,其作用是提高對表中資料的查詢速度。
建立索引是指在某個表的一列或者多列上建立一個索引,用來提高對表的通路速度,
建立索引由三種方法:在建立表的時候建立,在已存在的表上建立和用alter table語句建立。
建立索引的基本文法格式:
asc參數表示升序排列,desc參數表示降序排列。
一,在建立表的時候建立索引
1, 建立一個普通索引:
建立一個index1的表,在其id字段上建立索引:
create table index1(id int,namevarchar(20),sex boolean,index(id));
檢視索引是否被引用àexplain select * from index1 where id=1;
2, 建立唯一性索引:
建立一個index2表,在id字段上建立唯一性索引,升序排列:
create table index2(id int, namevarchar(20),unique index index2_id(id asc));
建立結果如圖:
3, 建立全文索引;
目前隻有myisam支援全文索引。
建立一個index3表,在info字段建立全文索引:
create table index3(id int,infovarchar(20),fulltext index3_info(info))engine=myisam;
結果如圖所示:
4, 建立單列索引
建立index4表,在subject字段上建立單列索引:
create table index4(id int,subjectvarchar(20),index index4_sb(subject(10)));
5, 建立多列索引
建立index5表,在name和sex上建立多列索引:
create table index5(id int, namevarchar(10),sex boolean,index index_nasex(name,sex));
6, 建立空間索引:
建立index6表,在表中space字段建立空間索引,建立空間索引的字段必須有非空限制,存儲引擎必須是myisam:
create table index6(id int,space geometrynot null,spatial index index6_space(space))engine=myisam;
二,在已存在的表上建立索引
基本文法為:
首先建立index7,不設定索引:
為index7在id字段加一個普通索引:
create index index7_id on index7(id);
變化後結果顯示:
三,用alter table 語句建立索引
基本文法:
建立一個index8,不設定索引:
如下:
為name加一個索引:
alter table index8 add indexindex8_name(name(20));
變化如下:
四,删除索引
drop index索引名 on 表名;
索引就先看到這裡了,接下來了解一下mysql的視圖和觸發器。