mysql索引建立和使用注意 mysql创建索引注意什么问题

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

mysql索引建立和使用注意 mysql创建索引注意什么问题

文章插图
因为索引是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 ;
【mysql索引建立和使用注意 mysql创建索引注意什么问题】drop index index_name on table_name;
-- 修改表引擎
把mysql表的引擎修改为MyISAM引擎
alter table table_nameengine=MyISAM;
把mysql表的引擎修改为innodb引擎
alter table table_name engine=innodb;
关于索引创建的基本操作今天就先到这 。
由于笔者水平有限,文中纰漏之处在所难免,权当抛砖引玉,不妥之处,请大家批评指正 。
Tags:


    推荐阅读