索引(含B树、B+树)

news2025/1/11 2:30:44

1、索引(index)

索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。
一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。
索引相当于一本书的目录,是为了缩小扫描范围而存在的机制。

索引检索(效率高):先通过目录(索引)去定位一个大概的位置,然后直接定位到这个位置,做局部性扫描,缩小扫描范围,快速查找

如果某个字段(name字段)没有添加索引(目录),或者说没有name字段创建索引,MySQL会进行全扫描,会将name字段上的每个值都比对一遍

MySQL:1、全表扫描;2、根据索引检索

2、索引结构

B树——多路平衡查找树
以最大度数为5的B树为例:

树的度数:一个节点的子节点个数。

每个节点有4个key,5个指针
为什么4个key,有5个指针?
比如:key(4):20,30,62,89
那么:指针(5):<20,20-30,30-62,62-89,>89

中间元素向上分裂

B树:所有节点存放key-value
B+树:所有数据都会出现在叶子节点;叶子节点形成一个单向链表

MySQL索引结构对经典的B+树进行优化,在原B+树的基础上,增加了一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的B+树。变成了循环双向链表

3 索引分类

聚集索引

必须有,且只有一个:数据存储和索引放在一块,索引结构的叶子节点保存了行数据

二级索引

可以存在多个:数据存储和索引分开,索引结构的叶子节点关联的是对应的主键

存在主键,主键索引就是聚集索引
没有主键,第一个唯一索引就是聚集索引
没有主键也没有唯一索引,InnoDB存储引擎自动生成rowid作为隐藏的聚集索引。

回表查询:根据二级索引找到主键值,再根据主键值根据聚集索引拿到行数据

索引使用原则

最左前缀法则

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

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

相关文章

Nginx 防止跨站脚本 Cross-Site Scripting (XSS)

1、修改 nginx 配置 在 nginx.conf 配置文件中&#xff0c;增加如下配置内容&#xff1a; add_header X-XSS-Protection "1; modeblock";X-XSS-Protection 的字段有三个可选配置值&#xff0c;说明如下&#xff1a; 0&#xff1a; 表示关闭浏览器的XSS防护机制&…

计算机专业毕业设计项目推荐08-英语在线点读平台(SpringBoot+Vue+MongoDB)

英语在线点读平台&#xff08;SpringBootVueMongoDB&#xff09; **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设…

华为认证HCIP知识点

文章目录 前言考试内容数据通信领域各场景通用核心知识OSPFIS-ISBGPIGMPICMP 数据通信领域路由交换高阶知识大数据技术Hadoop 总结 前言 本博客仅做学习笔记&#xff0c;如有侵权&#xff0c;联系后即刻更改 科普&#xff1a; 考试内容 参考网址 HCIP认证主要定位于中小型网…

Spring面试题7:面试官:Spring是如何进行异常处理的呢?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring是如何进行异常处理的呢? Spring通过异常处理机制来处理应用程序中的异常。它提供了多种方式来处理异常,包括以下几种: 声明式事务管理:…

实战案例:场景测试之ATM机取款业务测试

本期&#xff0c;我们通过经典案例——ATM机的操作&#xff0c;来为大家详细说说如何撰写对应的测试用例。 案例 在我们日常生活中&#xff0c;ATM机是个大家都非常熟悉的事物。银行为例提高工作效率&#xff0c;方便客户随时办理基础的储蓄和提现业务&#xff0c;于是&#…

Qt5开发及实例V2.0-第二十章-Qt.QML动画特效

Qt5开发及实例V2.0-第二十章-Qt.QML动画特效 第20章 QML动画特效20.1 QML动画元素20.1.1 PropertyAnimation元素20.1.2 其他动画元素20.1.3 Animator元素 20.2 动画流UI界面20.2.1 状态和切换 20.3 图像特效20.3.1 3D旋转20.3.2 色彩处理 20.4 Qt 5.5&#xff08;Qt Quick Extr…

web前端float布局、flex布局

1、float布局 <!DOCTYPE html> <html> <head><title>Login Page</title><style>body {font-family: Arial, sans-serif;background-color: #f3f3f3;}.container {max-width: 400px;margin: 0 auto;padding: 40px;background-color: #fff;…

变压器(电抗器) 红外测温作业指导书

1 范围 本标准化作业指导书规定了变压器(电抗器)红外测温(一般检测)工作的准备工作、测温流程图、 现场操作方法、测温周期和标准、测温记录管理等要求。 本标准化作业指导书适用于指导变压器(电抗器)红外测温的一般性检测工作。 2 规范性引用文件 下列文件对于本文件的应用…

我们为什么要做一名系统管理员?

我们为秩序而战&#xff0c;而服务器大叔则需要你成为系统管理员。这是个很好的机会&#xff0c;因为你已经管理过你有的那些系统&#xff0c;你本可以不需酬劳地管理那些日逐一日地运行的系统。但还是有一些面试官&#xff0c;愿意拿一笔很不错的薪水来找一些人去管理他们的系…

最频繁被问到的SQL面试题

面试感叹失败的原因可能有很多&#xff0c;而做成的道路只有⼀条&#xff0c;那就是不断积累。纯手工的8291字的SQL面试题总结分享给初学者&#xff0c;俗称八股文&#xff0c;期待对新手有所帮助。 窗口函数题 窗口函数其实就是根据当前数据, 计算其在所在的组中的统计数据。…

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Latex中使用package:authblk定义作者署名和单位

latex 一般情况下要自定义作者环境&#xff0c;因为自带的环境效果特别差&#xff0c; 所需的宏包一般使用 authblk。 文档说明网址&#xff1a; http://mirror.lzu.edu.cn/CTAN/macros/latex/contrib/preprint/authblk.pdf 非常简单明了&#xff0c;使用 \thanks 定义通讯作…

Python:Django框架的Hello wrold示例

Django是Python的目前很常用的web框架&#xff0c;遵循MVC设计模式。 以下介绍如何安装Django框架&#xff0c;并生成最简单的项目&#xff0c;输出Hello world。(开发工具VScode) 一、安装Django 在VScode终端控制台执行以下指令安装Django python install django 如果要查…

【树上莫队C++】Count on Tree II(欧拉序降维,树链剖分求最近共同祖先LCA)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在算法竞赛学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

【观察】数字化转型的“下半场”,华为加速行业智能化升级

过去几年数字化转型席卷全球&#xff0c;随着新技术的广泛应用&#xff0c;新的机会和价值正在不断被发现和创造。从某种程度上说&#xff0c;数字化转型不再是“可选项”&#xff0c;而变成了“必选项”。 目前&#xff0c;已经有超过170多个国家和地区制定了各自的数字化相关…

华为云云耀云服务器L实例评测:您值得信赖的云端伙伴

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

SAP PO运维(一):系统概览异常处理

打开SAP PIPO Netweaver Administration界面,系统概览下显示异常: 参考SAP note: 2577844 - AS Java Monitoring and Logging parametrization best practice service/protectedwebmethods = SDEFAULT -GetVersionInfo -GetAccessPointList -ListLogFiles -ReadLogFile -Para…

9.基于粤嵌gec6818开发板小游戏2048的算法实现

2048源码&#xff1a; 感兴趣的可以去了解一下2048优化算法&#xff1a; 基于蒙特卡罗树搜索的_2048_游戏优化算法_刘子正 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> #incl…

modbusRTU【codesys】

先熟悉功能码&#xff1a; 1添加主站&#xff1a; 2添加从站&#xff1a; 3从站操作&#xff1a;【写】 注&#xff1a; 厂家屏蔽了 5和6 【不能写 单线圈和单寄存器】 映射好【站1Q】之后&#xff0c;就不需要再管其他设置。 只需要再程序里赋值【站1Q】的输出值就行 比如 站…