mysql索引的基本原理

news2024/11/15 18:23:04

1.索引的基本原理

是为了提高数据检索效率,通过排列好的数据结构(通常是二叉树或B-Tree)来加快查找过程。

1.1 优势

  • 是帮助mysql获取数据的一种高效数据结构,并且是有序的;
  • 提高数据的检索效率,降低数据库的IO成本;
  • 通过索引对数据进行排序,降低数据排序的成本,降低cpu的消耗;

1.2 语法

创建索引的SQL语法:

CREATE INDEX index_name ON table_name (column1, column2, ...);

查看索引的SQL语法:

SHOW INDEX FROM table_name;

删除索引的SQL语法:

DROP INDEX index_name ON table_name;

2.索引的数据结构

mysql使用innodb引擎采用B+树来作为索引。

  • 阶数更短,路径更短
  • 磁盘读写B+树更低,非叶子节点只存储指针,叶子节点存储数据
  • B+树便于扫库和区间扫描,叶子节点是一个双向链表

2.1 二叉树

在这里插入图片描述

二叉树:时间复杂度不一定,存在最坏的情况,不适用索引。

2.2 红黑树

在这里插入图片描述

红黑树:每个节点只有两个分支,如果数据量较大,红黑树层级太多,查询太慢。

2.3 B树

在这里插入图片描述

	B-Tree,B树也成为平衡二叉树,相较于二叉树,B树每个节点可以多个分支。
	可以存在5个分支,每个分支可以存储4个key。
	每个key中存储指针和数据,层级低,容易查找,但是因为每个key中都存储数据,比较臃肿,会额外加载多余的数据。
	相较于B树来说,B+树更优。

2.4 B+树

B+Tree,B+树是在B树的基础上优化,使其更适合实现外存储索引结构。
mysql数据库的innodb引擎就是使用B+树实现的;
在这里插入图片描述

  • 阶数更短,路径更短
  • 磁盘读写B+树更低,非叶子节点只存储指针,叶子节点存储数据
  • B+树便于扫库和区间扫描,叶子节点是一个双向链表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用IP地址申请SSL证书可行吗?

在当今社会,互联网的安全非常重要,SSL(Secure Sockets Layer)证书作为保障网站安全的重要工具,能够加密网站与用户之间的数据传输,保护用户隐私,提升网站信任度等。然而,传统的SSL证…

【计算机组成原理】四、指令系统:3.汇编语言

5.汇编语言 文章目录 5.汇编语言5.1考试要求(408)x86汇编语言5.2地址码x86架构CPU,有哪些寄存器?总结 5.3操作码5.3.1算术运算5.3.2逻辑运算5.3.3其他 5.4循环分支5.4.1 jmp直接跳转指令5.4.2 jxxx条件跳转指令分支C→汇编循环C→…

Openstack 与 Ceph集群搭建(下): Openstack部署

文章目录 文章参考部署节点准备1. 修改Host文件与hostname名称2. 安装NTP软件3. 网卡配置信息4. 开启Docker共享挂载5. 安装python虚拟环境6. 安装kolla-ansible7. 加载Ansible galaxy requirements Openstack 安装前预配置1. 配置密码2. 配置multinode文件3. 修改全局配置文件…

2.Easy-Paas部署

目录 1.部署方式 2.docker-compose部署 1.1.准备docker环境 1.2.部署中间件 3.k8s部署 1.部署方式 docker-compose部署(单节点)k8s部署自研ops 2.docker-compose部署 1.1.准备docker环境 参考:二进制安装docker-CSDN博客 1.2.部署中…

安科瑞储能双向计量表DTSD1352-CT/CF 双向电量复费率统计

安科瑞徐赟杰 Hey科技迷们,你们是否对能源管理的新纪元充满好奇? 今天咱们来聊聊这款颠覆性的黑科技——安科瑞储能双向计量表DTSD1352! 想象一下,一个能够掌控能量流动,无论是输入还是输出,都了如指掌的…

Thread类的基本用法(详解版)

什么是线程? 线程是操作系统能够进行调度的最小单位,通常被视为轻量级的进程。线程在同一进程中共享进程的资源(如内存,打开的文件,网络等),但每一个线程都有自己的执行栈、程序计数器和局部变…

项目管理中什么是项目质量管理?

所有项目经理都易于犯下的通病便是产生无谓的乐观,误以为质量会自然而然地融入项目之中。然而,在实际操作中,我们必须明确界定、监控并管理项目管理质量。 项目质量管理的核心在于确保项目质量。这被称为项目的第四个约束,经理们必…

澄志创投马良骏:营销技术行业下一个关键词是合并与整合 | 中国广告营销行业资本报告深访①

日前,澄志创投发布了《中国广告营销行业资本报告2022》,投中信息提供独家数据支持,Marteker联合撰写。报告围绕广告营销行业的资本运作等话题,采访了行业资深人士。 马良骏Joshua(澄志创投创始人) 问&#…

Module not found: Can‘t resolve ‘tls‘/Module not found: Can‘t resolve ‘net‘

最近使用nextjs开发了一套系统,包含了前后端,但是前后端的界限其实没有那么清晰,很多地方都引入了公共的内容,甚至互相引入了其模块的内容 然后周五时在前端引入了一个方法(该方法在前端的模块里面定义的,之…

【Linux】基本命令(第二篇)

目录 1.命令提示符 2.命令的基本格式 1) 选项的作用 2) 参数的作用 2.cd命令:切换目录 3.pwd命令:显示当前路径 4.ls命令:查看目录下文件 5.mkdir命令:创建目录(文件夹) 6.rmdir命令:删…

《黑神话:悟空》横空出世:全新国产3A里程碑之作

“直面天命”、“棒打虎先锋”、“猿神,启动”......在过去的一周里,从朋友圈到微博热搜,从咖啡联名到陕西文旅,几乎已经没有人,可以对《黑神话:悟空》这一国产3A里程碑之作视而不见。8月20日上午10时&…

eclipse汉化教程

1:选择HELP->install New software 2:点击Add 3:name随便填写,location:https://download.eclipse.org/technology/babel/update-site/latest/ 4:等待下载完成后点next 5:选择中文,再点击next 6. 等待…

【实战】Spring Boot 嵌套事务REQUIRES_NEW与NESTED在项目中的运用

文章目录 引言1. 什么是Nested Transactions?2. Spring Boot中的事务管理2.1 基本用法2.2 Nested Transactions的需求场景 3. 实现Nested Transactions3.1 使用Propagation.REQUIRED)/Propagation.NESTED)3.2 嵌套事务REQUIRES_NEW与NESTED3.3 注意事项 4. 测试Nested Transac…

upload-labs(Pass-18 ~ Pass-21)

1、Pass-18(条件竞争) 1、题目需要进行代码审计&#xff1a; <?php include ../config.php; include ../head.php; include ../menu.php;$is_upload false; $msg null;if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);//白名单$file_name $_FILES[upload_fil…

OpenLayers3,地图探查功能实现

文章目录 一、前言二、代码实现三、总结 一、前言 图层探查&#xff0c;即对置于地图下方的图层进行一定范围的探查&#xff0c;以便用户查看到不易察觉的地理地况。本文基于OpenLayers3&#xff0c;实现地图探查的功能。 二、代码实现 <!DOCTYPE HTML PUBLIC "-//W…

滴滴拼车系统开发前景分析

滴滴拼车系统作为滴滴出行平台的一个重要组成部分&#xff0c;其开发前景分析如下&#xff1a; 市场需求&#xff1a;随着城市交通压力的增加和共享经济的普及&#xff0c;拼车服务因其便捷性和经济性受到越来越多用户的青睐&#xff0c;市场需求持续增长 。政策支持&#xf…

商业律师事务所借助 DocuSign 解决方案加快了 QES 和身份识别流程 | 电子签约律师事务解决方案

Roosbeh Karimi 是一位充满活力的年轻律师&#xff0c;他创办的商业律师事务所正引领着法律行业的数字化转型 KARIMI.legal 是一家总部位于柏林的商业律师事务所&#xff0c;专门从事商法、竞争法和法律技术集体诉讼。该商业律师事务所拥有一支由 11 名员工组成的团队&#xff…

音视频不同步问题总结

音视频同步的定义 指在视频播放过程中&#xff0c;图像和声音的播放时间保持一致&#xff0c;使得观众感觉到图像与声音是同时发生的。在实际的音视频 处理过程中&#xff0c;由于音频和视频的处理速度可能不同&#xff0c;或者由于网络传输的延迟&#xff0c;可能会导致音视…

地瓜直播间开播啦 | RDK X5-RWKV大模型部署实战

地瓜机器人新一代机器人开发者套件RDK X5&#xff0c;搭载旭日5智能计算方案&#xff0c;极简机器人开发体验&#xff0c;助力机器人开发一步通关&#xff08;更多产品信息请关注2024地瓜机器人开发者日暨新品发布活动&#xff0c;后续将在本公众号发布&#xff09;。 RWKV&…

零基础入门转录组数据分析——预后模型之lasso模型

零基础入门转录组数据分析——预后模型之lasso模型 目录 零基础入门转录组数据分析——预后模型之lasso模型1. 预后模型和lasso模型基础知识2. lasso预后模型&#xff08;Rstudio&#xff09;——代码实操2. 1 数据处理2. 2 构建lasso预后模型2. 3 提取Lasso预后基因2. 4 计算风…