mysql索引建立和使用注意 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 ;
【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:
推荐阅读
- 为什么选择B+树作为索引结构 b树索引和b+树索引的区别
- mysql数据库索引面试题 mysql组合索引底层原理
- 汉王考勤软件登录不上,提示“索引超出范围...” 汉王考勤机软件下载
- 刘德华|《流浪地球2》官宣全阵容,吴京把快乐建立在刘德华的痛苦之上
- 刘德华|《流浪地球2》主创谈敬业,吴京:我的快乐建立在刘德华痛苦之上
- 微笑|想要在工作中建立起强大的自信心,你应该这样做
- 关于使用pt-heartbeat监测MySQL主从复制延迟的方法
- MySQL读写分离,写完读不到问题如何解决
- 爱情是基于性的基础上,认为爱情是指建立在一定的物质基础上-
- 你怎么这么好看|韩国综艺节目,不是建立于国家文化上,而是消费女性来获得关注