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;

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