Mysql學習筆記3 索引

2021-08-17 10:34:01 字數 1476 閱讀 6088

優點:加快了查詢的速度(select)

缺點:降低了增刪改的速度(update/delete/insert)

增加了表的檔案大小(索引檔案甚至可能比資料檔案還大)

方式1:create index indexname on tablename(columnname);

方式2:alter tablename add index [indexname] on (columnname);

方式3:create table mytable( id int not null, username varchar(16) not null;

索引列的值必須唯一,但可以為null;如果是多個字段組合索引,那麼列值得組合唯一

建立唯一索引

方式1:create unique index indexname on tablename(columnname(length))

方式2:alter tablename add unique [indexname] on (columnname(length))

方式3:create table tablename( id int not null, username varchar(16) not null, unique [indexname] (columnname(length)) );

主鍵索引(一種特殊的唯一索引,不可以為null)

alter table tablename add primary key (columnname)

建立組合索引

alter table tablename add index index_name ( column1, column2, column3

) 建立索引可以大大提高系統的效能:

第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。

第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。

第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。

第四,在使用分組和排序 子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。

第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的效能。

增加索引也有許多不利的方面:

第一,建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加。

第二,索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大。

第三,當對表中的資料進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維護速度。

MYSQL索引 學習筆記

索引分類 索引失效 索引帶來的弊端 幫助mysql進行高效查詢的資料結構 有序 在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法,這種資料結構就是索引 換言之,索引就是某種資料結構 如下圖所示 左邊是資料...

mysql索引學習筆記

mysql索引學習筆記 1.索引的優劣 優 加快查詢速率 劣 影響對錶的添刪改操作的速率,增大檔案大小 可能索引檔案比資料檔案還大 所以,在往資料庫匯入大量資料之前,應該先暫時刪除索引,資料匯入完成後再統一建立索引。www.2cto.com 2.建立索引的原則 1 不過度索引 2 索引應該建在需要頻...

MySQL索引學習筆記

需求分析 首先,先假設有一張表,表的資料有10w條資料,其中有一條資料是nickname css 如果要拿這條資料的話需要些的sql是 select from award where nickname css 一般情況下,在沒有建立索引的時候,mysql需要掃瞄全表及掃瞄10w條資料找這條資料,如果...