MySQL索引介紹

2021-07-25 22:28:04 字數 2375 閱讀 1464

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

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

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

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

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

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

1,  建立乙個普通索引:

建立乙個index1的表,在其id欄位上建立索引:

create table index1(id int,namevarchar(20),*** 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和***上建立多列索引:

create table index5(id int, namevarchar(10),*** boolean,index index_na***(name,***));

結果如圖所示:

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的檢視和觸發器。

MySQL索引介紹

簡單理解為 排好序的快速查詢資料結構 一般來說索引本身也很大,不可能全部儲存在記憶體中,因此索引往往以索引檔案的形式儲存在磁碟上。我們平常所說的索引,如果沒有特別指明,一般都是指b樹結構組織的索引 b 樹索引 b 樹索引檢索原理 1 類似圖書館書目索引,提高資料檢索的效率,降低資料庫的io成本。2 ...

Mysql索引介紹

索引是在建立表的時候會自動生成乙個主鍵 以主鍵生成的 索引,所以我們可以直接搜尋索引 我們也可以建立 普通索引 create index t job index on e user t job 建立索引名 被建立的表 建立的列名 格式 所以索引可以多個.刪除普通索引 drop index t job...

mysql 索引介紹

在大資料表裡,同一條mysql語句,使用索引與不使用索引是具有極大的區別。索引作用相當於書的目錄,可以加快搜尋的速度。但是目錄是需要用額外的紙張來儲存,建立索引也是需要額外的空間。所以過多的索引可能會導致索引檔案比資料檔案還要龐大。索引是可以加快,但是要慎用。下面介紹mysql的幾種索引。最基本的索...