关于mysql索引创建和修改,这次终于弄懂了
作为一名java程序员,对于mysql的索引相信都不陌生。当我们在数据库表中查询数据时,若数据表没有索引,会逐个遍历表格中的所有数据,要是遇到表的数据很大时,查询就会很耗时。
建立索引就像创建目录一样,索引(Index)是帮助mysql高效获取数据的数据结构,索引可以提高查询效率。
例如:有一张用户表,其中有1百万条记录,存放每个用户的具体信息。表中有个phone的字段记录每个人的手机号码,现在想要根据手机号码查询某个用户的具体的信息。
如果phone字段没有建立索引,那么将从表中第一条记录一条条往下遍历,直到找到该条信息为止。
如果phone字段有建立索引,那么会将该Phone字段,通过一定的方法进行存储,好让查询该字段上的信息时,能够快速找到对应的数据,而不必在遍历1百万条数据了。
但索引也不是越多越好,因为创建的索引也需要占用空间,而且需要维护索引,因此没必要为所有字段创建索引,对于经常需要查询,或数据记录很多的字段可以创建索引。

因为索引是MySQL中比较重点的知识,在面试中出现的频率特别高。所以掌握好索引,无论是求职面试,还是工作,都会有很大的帮助。
今天我们来看看mysql索引的基本操作,创建索引和修改删除、删除索引操作。
-- 创建索引
alter table table_name add unique key key_id_type(id, type);
create index index_name on table_name(field_name);
创建表时索引一起创建好
create table table_name(
id int,
user_name varchar(20),
index [index_name] (field_name)
);
-- 删除索引
alter table table_name drop index key_id_type ;
drop index index_name on table_name;
-- 修改表引擎
把mysql表的引擎修改为MyISAM引擎
alter table table_name engine=MyISAM;
把mysql表的引擎修改为innodb引擎
alter table table_name engine=innodb;