我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库的常用索引

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库的常用索引


	MySQL数据库的常用索引
[数据库教程]

MySQL数据库的常用索引

本文关键字:数据库、MySQL、索引的作用、常用索引
在使用数据库的过程中,经常会进行数据的查询。随着数据量的增大,查询的时间会变的原来越长,这就需要合理的建立索引来提高查询效率。

一、索引概述

1. 数据库检索

在讲述索引之前我们要先来简单介绍一下数据库中是如何进行数据查询的,这更有助于我们理解索引。对于数据库来说,本质上是一个软件,或者可以称为一个系统,提供了对于数据管理的功能。存放在数据表中的数据其实同样是存储在磁盘上,对于不同的数据库,会以不同的数据格式文件存在。
在进行数据库检索时,尤其是条件查询,解析SQL指令后,本质上是对数据存储文件的扫描。我们所使用的绝大部分关系型数据库的表结构采用的都是行式存储,也就是一条数据是一行,每一列的数据是在这一行中以某种分隔符来分隔。数据库在进行数据扫描时也是通过游标(cursor)以行为单位来进行操作,与之相对的就是列式存储(column table),比如HANA。
那么在进行条件查询时,会逐行进行扫描,通过移动游标指定到不同的行,然后再获取到对应的列的值,比对,确定结果,在数据量比较小的时候我们可以忽略时间问题,但当数据量很大时(千万级)问题就很明显了,查询速度很难接受,在使用索引前,数据查询的过程可以这样表示:
技术图片

2. 索引的作用

说到索引,大家一定都很熟悉目录,如果我们把数据表看成一本书的话,没有索引的数据表就好像一本没有目录的书,并且内容之间也没什么顺序可言,那我们除了一页一页去翻又有什么办法呢?
如果我们将一条数据比作一页,每列数据就相当于这一页的内容。这时我们使用索引就可以建立起某列数据与某一条数据的关系,也就是说给定一个查询条件和信息,我就能够定位到数据的所在位置。
那么索引的工作原理和目录很类似,一旦我们创建了索引,就相当于为整本书创建了一个动态的目录,为什么是动态?因为数据是会被修改的嘛。当建立索引的列的数据被修改时,索引中也要及时的更新,保证对应关系是正确的,建立所以后,数据的查询的过程可以这样表示:
技术图片
敲黑板:建立了索引后,当被声明了索引的列作为条件或排序的列使用时,速度就会明显提升。也就是说,索引建立以后是个被动技能,符合了使用规则就会自动触发。

3. MySQL索引存储类型

在MySQL中,根据存储和映射方式的不同可将索引分为两种:

  • B-Tree:MySQL中使用最为频繁的索引类型,是以树形结构和节点的方式管理。
  • Hash:Hash索引主要用于等值过滤,在这一点上效率要高于B-Tree,但不支持范围查询。

二、MySQL常见索引

每一个索引都是建立在一个列上的,一个数据表中可以为多个列声明索引。在MySQL数据库中,常用的索引根据用途和作用效果可以被分为以下几类:

1. 普通索引

普通索引是MySQL中最基本索引类型,基本上对列的数据不会加任何的限制,可以允许空值和重复值,最主要的用途就是加快数据的访问速度。

2. 唯一索引

唯一索引指的是对数据添加了唯一性约束,这一列的数据当中不能够出现重复的值,但是可以有null值(至多有一个)。在创建唯一索引时会进行数据校验,如果此时已经有了重复数据,则索引创建失败。在建立唯一索引后,再向表中插入已有的重复数据时,也会被拒绝。

3. 主键索引

主键索引的特点是:非空、唯一。所以如果我们想找一列作为每条数据的唯一标识,就会将这一列声明为主键。由于主键的特点,经常会被作为其他表外键的参照列,也是在进行数据同步时的主要参照

4. 复合索引

同一索引类型作用在多个不同列上时,可以称之为组合索引,对于主键索引,有一个特别的称呼:复合主键。(注意:复合主键与联合主键不是同一个含义,联合主键指的是将多个主键的值联合在一起,常出现在多对多逻辑的中间表中,比如:将两个有关联的数据主键定义在中间表中,然后再为中间表设立一个主键来唯一标识每一条关联数据)

5. 全文索引

全文索引主要是作用在数据类型为CHAR、VARCHAR、TEXT的列上,用于长文本的字符串搜索加速。使用全文索引时,自然语言搜索的效率要大于LIKE关键字。

6. 空间索引

空间索引主要是针对空间数据类型的列建立的,如:GEOMETRY。如果在某一列上建立空间索引,则必须声明为:NOT NULL,只有MyISAM引擎的表支持空间索引。

MySQL数据库的常用索引

原文地址:https://blog.51cto.com/10984944/2514455

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库的常用索引

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库的常用索引

MySQL数据库的常用索引本文关键字:数据库、MySQL、索引的作用、常用索引在使用数据库的过程中,经常会进行数据的查询。随着数据量的增大,查询的时间会变的原来越长,这就需要合理的建立索引来提高查询效率。一、索引概述1. 数据库检索在讲述索引之前我们要先来简单
MySQL数据库的常用索引
2022-01-24

mysql数据库索引怎么用

mysql数据库索引优化可有效提升查询性能。索引通过按特定列排序数据,快速定位满足查询条件的数据块,避免全表扫描。mysql支持多种索引类型,包括b树索引、哈希索引、全文本索引和空间索引。创建索引需使用create index语句,并选择经
mysql数据库索引怎么用
2024-08-05

数据库常用的索引类型有哪些

常用的数据库索引类型包括:1. B-树索引:B-树(Balanced Tree)是一种平衡的多路搜索树,常用于关系型数据库中的索引结构。B-树索引适用于范围查询和等值查询。2. 哈希索引:哈希索引是通过使用哈希函数将索引值映射到哈希表中的存
2023-09-05

MySQL数据库中索引有什么用

这篇文章将为大家详细讲解有关MySQL数据库中索引有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、MySQL索引简介索引是MySQL数据库为了加快数据查询的速度,给表中的某一个或者是某几个列添加
2023-06-22

数据库索引

索引(index)是帮助MySQL高效获取数据的数据结构。常见的查询算法:顺序查找、二分查找、二叉树查找、哈希散列、分块查找、B树。  1)哈希算法:就是把任意长度值(key)通过散列算法变成固定长度的key地址,通过这个地址进行访问的数据结构。它通过关键码值
2017-04-03

MySQL数据库索引介绍 - Mr

一、什么是索引索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树二、为何要用索引优化查询速度注意:只能加速索引字段三、如何正确的看待索引错误的认知项目上线
MySQL数据库索引介绍 - Mr
2016-01-29

编程热搜

目录