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

MySQL索引基础知识概述

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

说到“索引”这个词,想必大家不陌生,就是搜索引用,在各个学术领域内都有索引的出现。那么在java语言中,进一步在MySQL数据库中,索引又是什么呢,这篇文章将对MySQL索引基础知识进行介绍,适合java零基础的新手们学习。

先来看MySQL索引的概念是什么,MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构。另外Mysql索引主要有两种结构:B+Tree索引和Hash索引。平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(B+Tree索引),这是需要大家了解的。

通过上面的MySQL索引定义,我们可以知道索引在数据库中扮演的角色就像一本字典的目录一样,当java程序员们想进行数据查询和处理的操作时,便可以利用索引这个目录,来找到想要的数据,提高了程序的查询和检索的效率,更方便的是数据库表中的每一个字段都可以添加索引。这就是MySQL索引的作用所在。

MySQL索引的优点是:可以快速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序。同样的,MySQL索引也存在缺点,有如下三点:(1索引本身也是表,因此会占用存储空间,一般来说,索引表占用的空间的数据表的1.5倍;(2索引表的维护和创建需要时间成本,这个成本随着数据量增大而增大;(3构建索引会降低数据表的修改操作(删除,添加,修改)的效率,因为在修改数据表的同时还需要修改索引表

索引虽然能非常高效的提高查询速度,同时却会降低更新表的速度。实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的。

以下三种情况下适合给表中字段添加索引:(1该字段数据量庞大;(2该字段很少的DML操作(由于索引也需要维护,DML操作多的话,也影响检索效率);(3该字段经常出现在where条件中

对于(1)表记录太少;(2经常增删改的表或者字段;(3)where条件里用不到的字段;(4)过滤性不好的比如性别列,这样的情况是不适合也不需要创建索引的。

MySQL索引出现的目的就是提高程序查询和检索的效率,通过上面对MySQL索引基本概念、作用以及适合的情况的介绍,相信大家对MySQL基础知识有了一定的认识和理解,希望以后可以在相关的java培训课程中深入学习如何使用MySQL索引的知识,都能掌握好这个技能。

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

取消