mysql的索引分类
索引分类
| 分类 | 含义 | 特点 | 关键字 |
| 主键 索引 | 针对于表中主键创建的索引 | 默认自动创建 , 只能 有一个 | PRIMARY |
| 唯一 索引 | 避免同一个表中某数据列中的值重复 | 可以有多个 | UNIQUE |
| 常规 索引 | 快速定位特定数据 | 可以有多个 | |
| 全文 索引 | 全文索引查找的是文本中的关键词,而不是比较索引中的值 | 可以有多个 | FULLTEXT |
聚集索引、二级索引
| 分类 | 含义 特点 | 特点 |
| 聚集索引 (Clustered Index) | 将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 | 必须有 , 而且只 有一个 |
| 二级索引 (Secondary Index)将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键 | 将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键 | 可以存在多个 |
- 如果存在主键,主键索引就是聚集索引。
- 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。
- 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引

- 聚集索引的叶子节点下挂的是这一行的数据 。
- 二级索引的叶子节点下挂的是该字段值对应的主键值。
当我们执行如下的SQL语句时 select *from user where name='Arm'; 具体过程如下:
- 由于是根据name字段进行查询,所以先根据name='Arm'到name字段的二级索引中进行匹配查找。但是在二级索引中只能查找到 Arm 对应的主键值 10。
- 由于查询返回的数据是*,所以此时,还需要根据主键值10,到聚集索引中查找10对应的记录,最终找到10对应的行row。
- 最终拿到这一行的数据,直接返回即可。
回表查询: 这种先到二级索引中查找数据,找到主键值,然后再到聚集索引中根据主键值,获取数据的方式,就称之为回表查询。
问题
相关文章:
mysql的索引分类
索引分类 在 MySQL 数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 分类 含义 特点 关键字 主键 索引 针对于表中主键创建的索引 默认自动创建 , 只能 有一个 PRIMARY 唯一 索引 避免同一个表中某数据列中…...
【校招VIP】java语言考点之并发相关
考点介绍: 并发在操作系统中是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。并发相关问题在校招面试中出现频次很高。 java语言考点之并发相…...
nginx实现路由重定向功能 避免服务器出现 404 Not Found
首先 到服务器上 vue react等项目路由的重定向已解决不了带后缀的访问 这个重定向需要 nginx 来实现 我们先执行 scp -r 用户名 如果没设置过就是root服务器公网地址:/etc/nginx/nginx.conf E:/拷贝地址这里 我将服务器上的nginx配置文件 拷贝到了本地的 E盘下的 拷贝地址目录…...
Flask+pyecharts+SQLAlchemy,统计图的数据存放在mysql中,综合版
ISEE小语 有人问:“世上最廉价的东西是什么?” 在网上看到这样一个回答说: “大概就是付出吧,一贫如洗的真心、一事无成的温柔、一厢情愿的等待。” 回顾上篇 此篇是在【Flask+pyecharts结合,html统计图呈现在前端页面】和【Flask+pyecharts结合,优化前端加导航栏显示】的…...
SQL注入类型判断
SQL注入的类型分为字符型和数字型,以sqli-labs靶场1、2关为例: 第一关 第一关注入一个1’,错误回显出下面内容,其中1’是注入的内容,0,1后面的单引号和最前面的单引号是一对,剩下的两个单引号是一对&#…...
ElasticSearch的安装部署-----图文介绍
文章目录 背景什么是ElasticSearch使用场景 ElasticSearch的在linux环境下的安装部署前期准备分配权限(正式实操)启动ElasticSearch创建用户组创建用户,并设置密码用户添加到elasticsearch用户组指定用户操作目录的一个操作权限切换用户 解压elasticsearch修改es的配…...
Unity粒子系统ParticleSystem各模块及其参数学习
粒子系统控制面板默认有4个模块:Particle System(主模块),Emission(发射模块), Shape(形状模块),Renderer(渲染器模块) 1.Particle …...
vue3实现卡片翻牌
vue3实现塔罗牌翻牌 前言一、操作步骤1.布局2.操作3.样式 总结 前言 最近重刷诡秘之主,感觉里面的塔罗牌挺有意思,于是做了一个简单的塔罗牌翻牌动画(vue3vitets) 一、操作步骤 1.布局 首先我们定义一个整体的塔罗牌盒子&…...
算法训练营day45|动态规划 part07:完全背包 (LeetCode 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数)
文章目录 70. 爬楼梯(进阶)(求排列方法数)思路分析代码实现 322. 零钱兑换(求等于背包重量的最小物品数)思路分析代码实现思考总结 279.完全平方数 (求等于背包重量的最小物品数)思路分析代码实现 70. 爬楼梯(进阶)(求排列方法数) 题目链接🔥 假设你正在爬楼梯。需…...
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建 Baichuan 2 介绍技术报告github 地址 模型下载开放协议协议 测试评估通用领域测试7B 模型结果13B 模型结果 法律、医疗7B 模型结果13B 模型结果 数学、代码7B 模型结果13B 模型结果 多语言…...
ElasticSearch系列-简介与安装详解
全文检索 讲ElasticSearch之前, 需要先提一下全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。 …...
Layui + Flask | 表单组件(组件篇)(07)
http://layui.dev/docs/2.8/form 表单组件 form 是包含输入框、选择框、复选框、开关、单选框等表单项组件的集合,主要用于对表单域进行各类动态化渲染和相关的交互操作。form是 Layui 最常用的组件之一。 表单布局 form 组件自身的普通布局。其要点为: 通过 class="lay…...
【实践篇】Redis最强Java客户端Redisson
文章目录 1. 前言2. Redisson基础概念2.1 数据结构和并发工具2.1.1 对Redis原生数据类型的封装和使用2.1.2 分布式锁实现和应用2.1.3 分布式集合使用方法 2.2 Redisson的高级特性2.2.1 分布式对象实现和使用2.2.2 分布式消息队列实现和使用2.2.3 分布式计数器实现和使用 3. 参考…...
esxi扩容磁盘
esxi扩容磁盘 fdisk -l没用扩容 登录Esxi管理界面扩容磁盘 进入服务器查看 没用变化 (有些可能进去磁盘就是更新,直接就是扩容的,但是没扩容就需要执行下面的命令) [root234-ces /]# fdisk -l Disk /dev/sda: 85.9 GB, 858993…...
核心实验21_BGP高级(了解)(配置略)_ENSP
项目场景: 核心实验21_BGP基础_ENSP 通过bgp实现省市互通。 实搭拓扑图: 具体操作: 其他基础配置略(接口地址,ospf) 1.BGP邻居建立: R1: [R1]bgp 200 [R1-bgp]peer 10.2.2.2 as-number 200 …...
宝塔安装python和openssl
宝塔安装python和openssl OpenSSL Centos7 openssl 升级 1.1.1k.tar.gz centos7系统安装Vicuna(小羊驼)聊天机器人 CentOS中输入yum报错:sudo: unable to execute /bin/yum: No such file or directory opensslrpm安装指南-让你的网站更加…...
TDengine 3.1.1.0 来啦!更新如下
自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,TDengine 做了大量更新,产品稳定性和易用性也在不断提升。近日,TDengine 3.1.1.0 成功发布,本文将向大家简单介绍一下该版本涉及的重大更新。 写在前面 伴随 …...
YSA Toon (Anime/Toon Shader)
这是一个Toon着色器/Cel阴影着色器,用于Unity URP 此着色器的目的是使角色或物体阴影实时看起来尽可能接近真实的动画或卡通效果 可以用于游戏,渲染,插图等 着色器特性,如:面的法线平滑、轮廓修复、先进的边缘照明、镜面照明、完全平滑控制 这个文档包括所有的功能https:/…...
LabVIEW通过IEC61508标准验证ITER联锁系统
LabVIEW通过IEC61508标准验证ITER联锁系统 保护环境要求系统能够保护机器免受工厂系统故障或机器危险操作造成的严重损坏。负责此功能的ITER系统是联锁控制系统(ICS)。该系统通过中央联锁系统(CIS)监督和控制不同的工厂联锁系统&…...
如何处理日期和时间?
处理日期和时间是计算机编程中的常见任务,无论是在C语言还是其他编程语言中。C语言提供了一些库函数来处理日期和时间,主要是通过<time.h>头文件中的函数来完成的。在本文中,我将详细解释如何在C语言中处理日期和时间,包括日…...
现代Web应用特性管理:从概念到工程实践
1. 项目概述:一个面向现代Web开发的特性管理工具 如果你和我一样,长期在Web应用开发的一线摸爬滚打,那你一定对“特性开关”这个概念不陌生。简单来说,它就像你家里电灯的总闸,可以随时控制某个功能是“亮”还是“灭”…...
快速排序:核心知识点全解析
一、快速排序 核心所有知识点1. 核心思想分治 挖坑 / 左右双指针 基准值 pivot选一个基准值 pivot把数组划分成:左边 ≤ pivot,右边 ≥ pivot递归对左、右子区间重复划分区间长度为 1 时终止,整体有序2. 时间复杂度平均:\(O(n\l…...
从仿真结果到科研图表:手把手教你用Tonyplot处理Silvaco TCAD数据
从仿真结果到科研图表:手把手教你用Tonyplot处理Silvaco TCAD数据 在半导体器件研究中,TCAD仿真数据的可视化呈现往往决定着研究成果的传达效果。许多研究者花费大量时间完成Silvaco仿真后,却苦于无法将原始数据转化为符合学术出版要求的专业…...
如何轻松解决软件授权难题?智能授权管理脚本全解析
如何轻松解决软件授权难题?智能授权管理脚本全解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾经遇到过这样的情况:重要的办公软件突然提示授权过期…...
别再为Matlab App打包发愁了!手把手教你从Web部署到桌面应用(含Runtime安装避坑)
从零到一:Matlab App Designer全流程打包实战指南 第一次尝试将Matlab App Designer开发的应用程序打包成可执行文件时,那种既期待又忐忑的心情相信很多开发者都深有体会。作为一款强大的交互式开发环境,Matlab App Designer让图形用户界面(G…...
从原型到优化:基于LoRa SX1278与STM32的音频对讲系统实战剖析
1. 项目背景与原型机搭建 记得第一次用STM32F103C8T6驱动LoRa SX1278模块时,手边只有个简易麦克风模块和杜邦线。当时就想做个能传语音的无线对讲系统,没想到后来踩了这么多坑。这个项目最核心的三部分就是ADC采集声音、SPEEX压缩音频、LoRa传输数据&am…...
基于SpringBoot的企业客户管理系统(附源码)
项目编号050 项目获取:合集 想学习Java开发却找不到合适的项目练手?这套基于Spring Boot的企业客户管理系统就是你的最佳选择!代码简单清晰,功能实用完整,非常适合初学者学习和二次开发。 这是什么项目? …...
白起杀降将卒,项羽杀降,黄巢他们有的选择吗?
杀降不是暴君的个人意志,而是一场场被逼到极限的“系统自保”。 白起要为40万战俘找活路,项羽要喂活20万张嘴并防止后院起火,黄巢要让自己和十几万兄弟明天不饿死。杀降本身这份“答卷”固然是反人类的,但那份出题人的冷酷与无情&…...
别再用LoadRunner了!用JMeter+阿里云PTS搞定mPaaS网关全链路压测(附MGSJMeterExt插件实战)
从LoadRunner到JMeterPTS:mPaaS网关压测的高效实战指南 在移动应用性能优化的战场上,压力测试一直是确保系统稳定性的关键环节。传统工具如LoadRunner虽然功能强大,但面对mPaaS这类移动网关架构时,其高昂的授权成本、复杂的适配流…...
weclaw:面向生产环境的现代化Python爬虫框架设计与实战
1. 项目概述与核心价值最近在开源社区里,一个名为weclaw的项目引起了我的注意。这个项目由shp-ai组织维护,从名字上乍一看,可能有点摸不着头脑——“weclaw”听起来像“we claw”(我们抓取)的变体。点进去一看…...
