动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

学习MySQL索引应用

08-28 16:25 67浏览
举报 T字号
  • 大字
  • 中字
  • 小字

前面介绍了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使用了索引

如下:

假如我们要查找sal大于1500的所有行,那么可以扫描索引,索引时排序的,结果得出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%”不会使用索引而like“aaa%”可以使用索引。

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

0人推荐
共同学习,写下你的评论
0条评论
春夏秋冬的你
程序员春夏秋冬的你

6篇文章贡献24471字

作者相关文章更多>

推荐相关文章更多>

MySQL开发规范

达芬奇09-04 11:38

必须掌握的30种SQL语句优化

不写代码你养我啊08-23 11:30

ES(Elasticsearch)支持PB级全文搜索引擎入门教程

HelloWorld09-29 17:28

Java面试中的hadoop面试题及答案整理

兔子06-15 17:15

数据库分类之速成篇

呵呵呀06-17 18:54

发评论

举报

0/150

取消