当前位置: 首页 > news >正文

MySQL之聚簇索引和非聚簇索引

1、什么是聚簇索引和非聚簇索引?

聚簇索引,通常也叫聚集索引。

非聚簇索引,指的是二级索引。

下面看一下它们的含义:

1.1、聚集索引选取规则

  • 如果存在主键,主键索引就是聚集索引。
  • 如果不存在主键,将使用第一个唯一索引作为聚集索引。
  • 如果没有主键或唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引。

说到聚集索引,就不得不提到“回表查询”了。

2、什么是回表查询?

通过二级索引找到对应的主键值,到聚集索引中查找整行数据,这个过程就是回表。

示例:有user表如下:

CREATE TABLE `user` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '技术主键',`name` varchar(100) DEFAULT NULL COMMENT '姓名',`age` int(11) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`),KEY `idx_1` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

这里,id作为主键,也就是聚集索引。name字段为普通索引,就是二级索引。

(1)假如此时有sql1:select * from user where id=1;

那么,id作为聚集索引,数据存储与索引放到了一块,索引结构的叶子节点保存了行数据,直接就可以得到整行数据【id=1,name=小明,age=18】

(2)假如又有sql2:select * from user where name='小明'; 

那么,此时就需要“回表查询”了。回表过程如下:

①因为建了“name”这个二级索引,(“select *”需要查整行数据);

②先用“小明”去二级索引中找到“小明”的id=1;

③再用“1”去找聚集索引,最终拿到整行数据。

相关文章:

MySQL之聚簇索引和非聚簇索引

1、什么是聚簇索引和非聚簇索引? 聚簇索引,通常也叫聚集索引。 非聚簇索引,指的是二级索引。 下面看一下它们的含义: 1.1、聚集索引选取规则 如果存在主键,主键索引就是聚集索引。如果不存在主键,将使…...

Web后端开发之前后端交互

http协议 http ● 超文本传输协议 (HyperText Transfer Protocol)服务器传输超文本到本地浏览器的传送协议 是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。 HTTP是一个基于TCP/IP通信协议来传递数据. HTT…...

520. 检测大写字母 Easy

我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写&#xff0…...

vue的跳转传参

1、接收参数使用route,route包含路由信息,接收参数有两种方式,params和query path跳转只能使用query传参,name跳转都可以 params:获取来自动态路由的参数 query:获取来自search部分的参数 写法 path跳,query传 传参数 import { useRout…...

docker配置镜像源

1)打开 docker配置文件 sudo nano /etc/docker/daemon.json 2)添加 国内镜像源 {"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc…...

MySQL高级-SQL优化-insert优化-批量插入-手动提交事务-主键顺序插入

文章目录 1、批量插入1.1、大批量插入数据1.2、启动Linux中的mysql服务1.3、客户端连接到mysql数据库,加上参数 --local-infile1.4、查询当前会话中 local_infile 系统变量的值。1.5、开启从本地文件加载数据到服务器的功能1.6、创建表 tb_user 结构1.7、上传文件到…...

认识100种电路之振荡电路

在电子电路领域,振荡是一项至关重要的功能。那么,为什么电路中需要振荡?其背后的原理是什么?让我们一同深入探究。 【为什么需要振荡电路】 简单来说,振荡电路的存在是为了产生周期性的信号。在众多电子设备中&#…...

SSH 无密登录配置流程

一、免密登录原理 非对称加密: 由于对称加密的存在弊端,就产生了非对称加密,非对称加密中有两个密钥:公钥和私钥。公钥由私钥产生,但却无法推算出私钥;公钥加密后的密文,只能通过对应的私钥来解…...

Python自动化运维 系统基础信息模块

1.系统信息的收集 系统信息的收集,对于服务质量的把控,服务的监控等来说是非常重要的组成部分,甚至是核心的基础支撑部分。我们可以通过大量的核心指标数据,结合对应的检测体系,快速的发现异常现象的苗头,进…...

如何安装和配置Monit

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 关于 Monit Monit 是一个有用的程序,可以自动监控和管理服务器程序,以确保它们不仅保持在线,而且文…...

【redis】redis分片集群基础知识

1、基本概念 1.1定义 分片:数据按照某种规则(比如哈希)被分割成多个片段(或分片),每个片段被称为一个槽(slot)。槽是Redis分片集群中数据的基本单元。节点:Redis分片集…...

Python 面试【★★★★】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

Knife4j 2.2.X 版本 swagger彻底禁用

官方文档配置权限:https://doc.xiaominfo.com/v2/documentation/accessControl.html#_3-5-1-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B1%8F%E8%94%BD%E8%B5%84%E6%BA%90 通常有时候我们碰到的问题如下: 在开发Knife4j功能时,同很多开发者经常讨论的问…...

linux下mysql的定时备份

备份是容灾的基础,是指为了防止系统出现操作或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其他的存储介质的过程为什么备份 硬件故障软件故障误操作病毒入侵保留历史记录灾难性事件 存储介质 光盘磁带硬盘磁盘阵列DAS:直接…...

【13】地址-比特币区块链的地址

1. 比特币区块链的地址 这就是一个真实的比特币地址:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa。这是史上第一个比特币地址,据说属于中本聪。 比特币地址是完全公开的,如果你想要给某个人发送币,只需要知道他的地址就可以了。实际上,所谓的地址,只不过是将公钥表示成人类可读…...

【数据结构】数据结构前置知识

这里写目录标题 基本概念与术语数据数据元素数据项数据对象数据结构 逻辑结构和物理结构物理结构顺序存储结构链式存储结构 逻辑结构集合结构线性结构树形结构图形结构 算法时间复杂度和空间复杂度大O的渐进表示法时间复杂度常数阶线性阶对数阶平方阶常见时间复杂度 空间复杂度…...

企业数据挖掘平台产品特色及合作案例介绍

泰迪企业数据挖掘平台是一款通用的、企业级、智能化的数据分析模型构建与数据应用场景设计工具,能够一体化地完成数据集成、模型构建、模型发布,为数据分析、探索、服务流程提供支撑,提供完整的数据探索、多数据源接入、特征处理、模型搭建、…...

C++初学者指南-3.自定义类型(第一部分)-基本自定义类型/类

C初学者指南-3.自定义类型(第一部分)-基本自定义类型/类 文章目录 C初学者指南-3.自定义类型(第一部分)-基本自定义类型/类1.类型种类(简化)2.为什么选择自定义类型?单向计数器提升序列 3.限制成员访问成员函数公共(public) vs. 私有(private…...

iOS之如何创建.framework静态库

番外:想要查看如何创建.a静态库可前往看我iOS之如何创建.a静态库-CSDN博客这篇文章。 一、创建framework项目 创建framework工程要选择iOS --> Cocoa Touch Framework输入项目名称PrintFramework也是编译生成的framework的名称。framework的名称也可以以后在项目…...

C程序设计谭浩强第五版

程序习题 第一章1、第5题2、第6题 第三章1、第2题2、第2题3、第3题4、第4题Tips 第一章 1、第5题 编写一个C程序,运行时输出以下图形: #include <stdio.h> int main() {for (int i 0; i < 4; i) // 输出4行循环控制{for (int j 0; j < i; j) //第几行就输出几…...

n8n工作流模板大全:从入门到精通的自动化实战指南

1. 项目概述&#xff1a;一个为n8n用户准备的“万能工具箱” 如果你正在使用或者听说过n8n这个强大的工作流自动化工具&#xff0c;那你一定遇到过这样的时刻&#xff1a;面对一个空白的画布&#xff0c;知道n8n能帮你连接一切&#xff0c;但就是不知道从何下手&#xff0c;或…...

为防数据泄露!教你拆除2024款RAV4混动汽车调制解调器和GPS

拆除2024款RAV4混动汽车调制解调器和GPS&#xff0c;从源头上阻止数据传输&#xff01;现代汽车就像装在轮子上的电脑&#xff0c;配备众多传感器&#xff0c;会回传位置、速度等遥测数据。其车内和车外摄像头、麦克风及调制解调器默认开启&#xff0c;且难关闭&#xff0c;数据…...

如何快速掌握Git和GitHub:新手入门终极指南

如何快速掌握Git和GitHub&#xff1a;新手入门终极指南 【免费下载链接】hello-git Curso para aprender a trabajar con el sistema de control de versiones Git y la plataforma GitHub desde cero y para principiantes. 项目地址: https://gitcode.com/gh_mirrors/he/he…...

RT-Thread Studio实战:搞定DS18B20温度读取的时序坑(附逻辑分析仪调试实录)

RT-Thread Studio实战&#xff1a;DS18B20温度读取的时序调试与逻辑分析仪应用 嵌入式开发中&#xff0c;单总线器件因其简洁的硬件连接而广受欢迎&#xff0c;但恰恰是这种"简单"往往隐藏着最棘手的调试难题。当你在RT-Thread环境下使用DS18B20温度传感器&#xff0…...

基于Agentify框架构建AI智能体:从核心原理到实战应用

1. 项目概述&#xff1a;从代码仓库到智能体构建平台最近在开源社区里&#xff0c;一个名为harindukavishka/agentify的项目引起了我的注意。乍一看&#xff0c;这只是一个GitHub上的代码仓库&#xff0c;但当你点进去&#xff0c;深入其文档和代码结构&#xff0c;你会发现它远…...

Arthas实战:用watch和tt命令‘时光倒流’,精准复现和调试那个偶现的线上Bug

Arthas实战&#xff1a;用watch和tt命令‘时光倒流’&#xff0c;精准复现和调试那个偶现的线上Bug 线上环境偶现的Bug就像幽灵一样难以捉摸——测试环境无法复现&#xff0c;日志信息又残缺不全。作为一名开发者&#xff0c;你是否经历过这样的绝望时刻&#xff1f;当用户反馈…...

告别卡顿!在Ubuntu 22.04 LTS上丝滑安装Burp Suite 2024.1(附国内源加速配置)

在Ubuntu 22.04 LTS上极速安装Burp Suite 2024.1的终极指南 每次启动Burp Suite都要等上几分钟&#xff1f;运行过程中频繁卡顿甚至崩溃&#xff1f;如果你正在使用Ubuntu 22.04 LTS或更新的版本&#xff0c;很可能是因为还在沿用那些针对Ubuntu 18.04的过时教程。本文将带你彻…...

3分钟让你的Obsidian代码块告别混乱:专业开发者的笔记美化秘籍

3分钟让你的Obsidian代码块告别混乱&#xff1a;专业开发者的笔记美化秘籍 【免费下载链接】obsidian-better-codeblock Add title, line number to Obsidian code block 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-better-codeblock 还在为Obsidian中密密麻…...

终极Linux打印机兼容性解决方案:foo2zjs驱动完整实战指南

终极Linux打印机兼容性解决方案&#xff1a;foo2zjs驱动完整实战指南 【免费下载链接】foo2zjs A linux printer driver for QPDL protocol - copy of http://foo2zjs.rkkda.com/ 项目地址: https://gitcode.com/gh_mirrors/fo/foo2zjs foo2zjs是Linux系统上最全面的开源…...

从零到一搭建 AI Agent 财务分析系统

一、核心目标拆解(先对齐业务) 你的系统要支撑 4 类核心场景: 财务报告自动生成 + 智能解读 智能问答 + 异常预警 财务预测、预算编制、风险识别 对接业务部门,推动需求落地 基于这个目标,我给你定了 **「轻量化 MVP → 企业级生产」两阶段架构 **,兼顾快速出 Demo 和长…...