mysql中有關索引的操作

一.前言

如果合理的設計且使用索引的MySQL是一輛蘭博基尼的話,那麼沒有設計和使用索引的MySQL就是一個人力三輪車。

拿漢語字典的目錄頁(索引)打比方,我們可以按拼音、筆畫、偏旁部首等排序的目錄(索引)快速查找到需要的字。

實際上,索引也是一張表,該表保存了主鍵與索引字段,並指向實體表的記錄。

雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對錶進行INSERT、UPDATE和DELETE。

因爲更新表時,MySQL不僅要保存數據,還要保存一下索引文件。

二.索引類型

UNIQUE(唯一索引):索引列的值必須唯一,但允許有空值。

INDEX(普通索引):允許出現相同的索引內容;
PROMARY KEY(主鍵索引):主鍵只能作用於一個列上,添加主鍵索引時,你需要確保該主鍵默認不爲空(NOT NULL)
組合索引將多個字段建到一個索引裏,列值的組合必須唯一;

三.用alter table 語句創建索引

格式: ALTER TABLE 表名 ADD 索引類型 (unique,primary key,fulltext,index[索引名](字段名);
-- 普通索引

alter table table_name add index index_name (column_list);

Eg:alter table dict_item add INDEX index_itemIds(ITEM_ID);

-- 唯一索引

alter table table_name add unique (column_list) ;

Eg:alter table dict_item DROP index index_itemIds;

-- 主鍵索引

alter table table_name add primary key (column_list);

Eg:alter table dict_item add PRIMARY KEY(ITEM_ID);

四.刪除索引

drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;

五.查詢所有的主鍵

SHOW INDEX FROM dict_item;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章