MySQL索引

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL索引

一、什么是索引?

索引是一种特殊的文件,包含对数据表中所有记录的引用指针,可以对数据表中一列或多列创建索引,并且还可以指定索引的类型。通俗来说,索引相当于目录。

二、索引的作用

索引提高了查找的速度。

索引就相当于表的目录,类似书的目录一样便于查找。

三、索引的应用场景

应用场景:

  • 数据量大,经常进行查询操作
  • 很少使用增、删、改操作,增加索引会降低这些操作的效率
  • 有足够的空间,添加索引需要一定的空间,是用空间来换时间

四、索引的简单操作

1、查看索引

show index from 表名;

2、创建索引

create index 索引名 on 表名(字段名);

3、删除索引

drop index 索引名 on 表名;

五、索引背后的数据结构

在索引中常用的数据结构是B+树,B+树是一个N叉搜索树,每一个结点上包含了多个key值,在非叶子结点上,m个key值就会分成m个空间,并且父结点的值最终都会在叶子结点中体现,父结点的值会作为子结点的最大(小)值,对于叶子结点使用链表进行顺序连接。

B+树适合做索引的原因:

  • 整体的IO次数少,使用B+树在查找的时候,因为是多叉搜素树;
  • 查询次数稳定,因为所有的查询最终都会落到叶子结点,每次查询的次数差不多;
  • 非常适合范围查找,因为每个叶子结点上的key值是有序的,且叶子结点之间用链表进行连接;
  • 非叶子结点整体占用的内存少,所有的数据存储都是存放到叶子结点上的,非叶子结点只保存key值,非叶子结点占用的内存少。


095d0566cc53405b946629cbbfbf6717.png  

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
MySQL性能优化实战:从索引策略到查询优化
MySQL性能优化聚焦索引策略和查询优化。创建索引如`CREATE INDEX idx_user_id ON users(user_id)`可加速检索;复合索引考虑字段顺序,如`idx_name ON users(last_name, first_name)`。使用`EXPLAIN`分析查询效率,避免全表扫描和大量`OFFSET`。通过子查询优化分页,如LIMIT配合内部排序。定期审查和调整策略以提升响应速度和降低资源消耗。【6月更文挑战第22天】
88 2
|
2天前
|
关系型数据库 MySQL 数据库
MySQL企业级开发重点之事物和索引
MySQL企业级开发重点之事物和索引
8 2
|
5天前
|
存储 SQL 关系型数据库
初识mysql索引 - 小白篇
初识mysql索引 - 小白篇
|
11天前
|
监控 关系型数据库 MySQL
MySQL索引的创建步骤是什么?
【6月更文挑战第15天】MySQL索引的创建步骤是什么?
16 5
|
8天前
|
SQL 存储 关系型数据库
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
|
10天前
|
关系型数据库 MySQL 数据库
mysql索引优化
【6月更文挑战第16天】mysql索引优化
15 2
|
11天前
|
存储 关系型数据库 MySQL
MySQL索引的限制
【6月更文挑战第15天】MySQL索引的限制
10 3
|
11天前
|
存储 关系型数据库 MySQL
MySQL索引
【6月更文挑战第15天】MySQL索引
13 3
|
9天前
|
存储 关系型数据库 MySQL
MySQL索引18连问,谁能顶住
MySQL索引18问概览: 1. 索引是提升查询速度的数据结构,如书的目录。 2. 索引类型包括B+tree、Hash、Full-text、R-Tree等,B+tree擅长范围查询,Hash擅长等值比较。 3. 主键索引唯一且不可为空,每表只能一个;唯一索引允许唯一值,可为空。 4. 聚簇索引数据与索引顺序一致,非聚簇索引存储指针。
186 0
MySQL索引18连问,谁能顶住
|
12天前
|
SQL 关系型数据库 MySQL
【MySQL技术内幕】5.6-B+树索引的使用
【MySQL技术内幕】5.6-B+树索引的使用
21 4