首页 > 图灵资讯 > 技术篇>正文

学习MySQL索引应用

2023-04-14 09:49:43

前面介绍了MySQL索引基本概念和相关知识,相信大家对索引都有一定的了解和理解。java编程就理论知识而言,编程和操作是最重要的。这篇文章是为了学习MySQL索引应用操作,帮助大家使用MySQL索引

1. 创建索引

语法结构:create index 索引名 on 表名(列名)

create unique index 索引名 on 表名(列名)

///添加unique表示在表中的列中添加一个独特的约束

例如:create index dept_dname_index on dept(dname)

2. 查看索引

语法结构:show index from 表名

例如:show index from dept

3.使用索引

注意不要使用select * … 你可以看到type!=all,说明使用索引

explain select sal from emp where sal > 1500;

条件中的使用索引的sal

如下:

假如我们要找的话所有超过1500行的sal,然后可以扫描索引,在索引中排序,结果得到7行,我们知道不会有匹配的记录,可以退出。如果找到一个值,它不会出现在索引表的中间点之前,那么它也找到了第一个匹配索引项的定位算法,而无需扫描表的顺序(如二点搜索法)。这样可以快速定位第一个匹配值,节省大量搜索时间。数据库采用各种快速定位索引值的技术,通常属于DBA工作。

5. 删除索引

语法结构:drop index 索引名 on 表名;

例如:drop index dept_dname_index on dept;

6.主键自动添加索引:

1尽量通过主键查询,效率更高;

2索引与表相同,存储在硬盘文件中

3索引和表一样,是一个对象,表存储在硬盘文件中,所以索引也是表的一部分,索引也存储在硬盘文件中

7.使用索引时,有以下几点4点技能及注意事项:

1索引不包括在内NULL值列只要列中包含NULL值不会包含在索引中。只要复合索引中有一列含有NULL值,该列对该复合索引无效。因此,在设计数据库时,不要让字段的默认值为NULL。

2使用短索引如果可能的话,应该指定一个前缀长度。例如,如果有一个CHAR(255)如果大部分值是前10个或20个字符中唯一的,则不要索引整个列。短索引不仅可以提高查询速度,还可以节省磁盘空间和I/O操作。

3索引列排序MySQL查询只使用一个索引,所以如果索引已经在where句中使用,那么order By中的列不使用索引。因此,当数据库默认排序符合要求时,不要使用排序操作;尽量不要包含多列排序。如果需要,最好为这些列创建复合索引。

4like语句操作一般情况下不鼓励使用like操作,如果必须使用,如何使用也是一个问题。like“%aaa%”likeeee不会使用索引“aaa%”可使用索引。

关于MySQL索引应用的介绍就是以上七点。希望java零基础看到这里的朋友也可以学会MySQL索引应用的操作。因为索引是快速搜索的关键MySQL索引的建立为MySQL数据库能否高效运行非常重要,所以要求大家学好MySQL索引应用的相关操作,进一步掌握MySQL的使用,丰富自己的java水平。

上一篇 什么是MySQL存储引擎
下一篇 MySQL索引基础知识概述

文章素材均来源于网络,如有侵权,请联系管理员删除。