面试复习01-mysql索引的本质和优化

面试拼多多居然挂在该死的MySQL,从头再来二面拼多多拿到年薪50W 爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试拼多多,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了拼多多,被录用。 以下展示的拼多多面试题(含答案)、学习资料、实战文档等,均可以免费分享给大家,需要的朋友,私信我【面试】即可哦! 01拼多多面试题之MySQL 之前的拼多多面试题都... 阅读详情

索引数据结构

二叉树
红黑树
hash表
btree树

索引是高效获取数据的排好序的数据结构

数据结构学习网站

在这里插入图片描述

图形化模拟数据结构
在这里插入图片描述
B树

在这里插入图片描述
B+树
在这里插入图片描述

mylsam存储引擎实现

非聚集索引,索引单独在myi文件
在这里插入图片描述

myi文件的结构
b+树实现
myd数据随机存放
在这里插入图片描述
mylsam读取数据步骤
如果是有索引先读取myi文件,然后根据索引位置load数据
不是索引则全表查询

innodb存储引擎实现

是聚集索引,叶子点包含了完整的数据记录

mysq为什么搞聚集索引和非聚集索引
聚集索引只在一个文件查询,效率比较高
在这里插入图片描述
在这里插入图片描述
为什么innodb必须有主键,并且推荐使用整型的自增主键
mysql开发innodb底层存储引擎的时候 ,表的数据必须有b+ 树的聚集索引去组织,所以必须有个主键。
没有主键底层怎么去组织呢?
如果没有选主键,innodb自动帮你选一个不重复的一列字段作为默认索引,还是b+ 树,如果找不到这样的列,会在后台建一个整型的隐藏列帮你维护数据,维护一个唯一索引的整型列,组织整张表是数据

b+ 树叶子节点中间有个指针,左到右递增
指针存放下个节点在磁盘的位置,指针是双向的
自增的好处,永远都是在最右边操作,不用考虑树的分裂和平衡,效率比较高
在这里插入图片描述
分库分表
雪花算法,redis维护自增主键

联合索引也就是复合索引底层存储结构长什么样?

索引最左前缀原理
在这里插入图片描述
逐个字段来排,如果第一个一样看第二个,以此类推
最左前缀:不能跳过左边的索引,要按照索引顺序来用
在这里插入图片描述

Mysql 优化以及调优,面试必备宝典! 这是一本介绍mysql如何优化提速的书籍,其中有些问题是面试中常常遇到的。希望这本书能给在坐的php程序员提供一些帮助。 立即下载

相关推荐

干货!MySQL常见的面试题+索引原理分析.docx

数据库Mysql索引的本质\Mysql索引的底层原理\Mysql索引的实战经验\MyISAM存储引擎在使用索引查询数据时,会先根据索引查找到数据地址,再根据地址查询到具体的数据。并且主键索引和辅助索引没有太多区别。

【MYSQL常见面试题系列】索引优化的方法

mysql面试常问之索引优化

weixin_56738054的博客 829

mysql系列【你不知道的索引优化】(面试必问)

前言:相信大家面试的时候肯定被问过这个问题,但很多都是因为不够深入,或者了解片面而导致好的机会和你失之交臂,其实这个问题答得好是非常加分的,好了不多说了开始… 目录1、什么是索引?1.1、B+Tree结构了解一下1.2、索引到底有哪些1.3、索引是把双刃剑2、索引优化2.1、其中最重要的就是这个explain关键字2.2、使用索引的注意事项2.3、导致索引失效的原因哪些(索引优化方案)? 1、什么是索引? 索引:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的目的在于提更高查询效率,可以类比字典。 常见的MySQL主要有两种结构:Hash索引和B+ Tree索引,我们使用的是I

mysql中的各种索引大总结

文章目录为啥不用二叉搜索树?为啥不用平衡二叉(avl)树?为啥不用b-树?为啥用b+树?(重点)索引聚簇索引聚簇索引的缺点 大家都知道mysql索引底层使用的是b+树的数据结构,树有这么多种,那为啥就选择b+树呢?那就从为啥使用b+树开始,到分析其原理的思路一步步分析吧。 为啥不用二叉搜索树? 定义: 1:非空左子树的所有键值小于其根结点的键值。 2:非空右子树的所有键值大于其根结点的键值。 3:左、右子树都是二叉搜索树。就是左节点<根节点<右节点。 看下图树太高了。查询效率太低,故不推荐。

风团团 6866

IBM Storwize V3700存储维护实战:硬盘更换、电源模块热插拔与带外管理IP配置

在企业IT基础设施中,存储阵列是数据持久化的核心组件,其稳定运行直接关系到业务连续性。存储阵列通常采用RAID技术实现数据冗余,并通过热插拔、冗余电源等设计保障高可用性。带外管理则提供了独立于业务网络的硬件级监控与管理通道,是运维的关键手段。本次实战以一台IBM Storwize V3700存储阵列为例,详细记录了在业务低峰期,依据严谨的操作流程,对出现SMART预警的硬盘进行在线更换,并对有异响的冗余电源模块实施热插拔更换。针对管理界面强制要求设置VIP才能配置带外管理地址的限制,文章提供了通过SSH命令

weixin_29172963的博客 303

WSOLA原理及matlab仿真

WSOLA原理 对于 OLA 算法来说,常常无法保持原信号中的周期性结构,在帧裁剪的过程中,不能保证每一个帧都能覆盖完整周期并保证其相位对齐,会产生相位跳跃失真。 为保证**基频不变**,就要使用 WSOLA 算法。 WSOLA 并不直接在 Ha 处找一帧进行直接拼接,而是在一个区间内寻找与理想帧最接近的一帧进行叠加。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8a234f4fde104fc69a9f3ddb7bcf3014.png?x-oss-process=ima

ManiacLook的博客 3214

面试阿里(P8)竟被MySQL难倒,奋发图强二次面试斩获阿里offer

牛顿说过“无论做什么事情,只要肯努力奋斗,是没有不成功的”。我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一个大厂梦,我肯定也不例外的,去年面试阿里巴巴,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了阿里巴巴,被录用。 以下展示的阿里巴巴面试题(含答案)、学习资料、实战文档等 01 阿里巴巴面试题之MySQL 之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是.

文章中资料均可获取,有需要请添加yunduoa2019即可 1万+

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 520

MySQL优化面试题通关秘籍(附高频考点解析)

最近帮学弟学妹做模拟面试,发现80%的同学栽在优化问题上(尤其是索引部分!!!

kernelguru的博客 1141

给麒麟KylinOS服务器加把锁:手把手配置符合等保要求的密码强度策略

本文详细介绍了如何在麒麟KylinOS服务器上配置符合等保要求的密码强度策略,包括pwquality.conf和login.defs的核心参数设置、等保合规的进阶配置技巧以及企业环境中的平衡艺术。通过实战案例和测试方法,帮助管理员构建坚固的密码防线,确保系统安全。

weixin_33749242的博客 418

手把手教你修改miniwiggler配置信息,解决UDE连接问题(附FT_PROG工具下载)

本文详细介绍了如何使用FT_PROG工具修改miniwiggler配置信息,解决UDE连接问题。通过分析FT2232芯片的EEPROM结构,提供从驱动安装到配置烧写的完整流程,帮助开发者实现无缝连接英飞凌TriBoard开发板。文章还包含常见错误解决方案和高级批量配置技巧。

weixin_30919429的博客 373

性能优化专题复习:JVM+Tomcat+MySQL+面试题+学习笔记等

垃圾回收器的基本原理是什么?finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?System.gc() 和 Runtime.gc() 会做什么事情?

2401_89820767的博客 997

20251121更新纷玩岛

【代码】20251121更新纷玩岛。

猫敷雪 1017

MySql复习及面试题学习

不断维护

qq_74924951的博客 1327

SwiftUI 5 教程之 SwiftData使用入门(教程含源码)

对我来说,记住日期很难。是的,您可以设置该日期的提醒,但该提醒无法产生紧迫感。让我们创建一个应用程序,我们可以在其中添加将来发生的事件。如果我们可以在主应用程序上看到所有即将发生的活动,那就太好了。也许将它们添加到小部件上以营造紧迫感。对于任何事件,我们需要跟踪哪些事情?我们将在下一篇文章中添加更多属性,其中我们将讨论迁移。现在,这就是我们所需要的。开始吧。

iCloudEnd的博客 986

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 527

腾讯面试,居然凉在MySQL上,卧薪尝胆后二次面试入职腾讯

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试腾讯,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了腾讯,被录用。 以下展示的腾讯面试题(含答案)、学习资料、实战文档等,均可以免费分享给大家,需要的朋友,...

求关注 1362

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

性能优化专题复习:JVM+Tomcat+MySQL+面试+学习笔记等

01 JVM本篇是对性能优化专题做一个复习,包括JVM+Tomcat+MySQL+面试+学习笔记等,话不多说,一起来看看吧~写在最前:需要文中分享的完整版笔记+答案解析的小伙伴们-01 JVM1.1 JVM性能优化面试相关问题Java 类加载过程?描述一下 JVM 加载 Class 文件的原理机制?Java 内存分配。GC 是什么?为什么要有 GC?简述 Java 垃圾回收机制。如何判断一个对象是否存活?(或者 GC 对象的判定方法)垃圾回收的优点和原理。并考虑 2 种回收机制。

m0_71563599的博客 222

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点

面试又被MySQL虐?是不是很扎心呢?(呜呜呜~)好吧,话不多说,直接进入主题,分享一波我整理的干货,让你面试不再被虐,一起吊打MySQL! 注意注意:需要小编分享的这个55道复习必备+20个高频知识点+21性能优化实践+MySQL学习思维脑图+MySQL技术内幕 InnoDB存储引擎(PDF)及更多资料的朋友,往下看 MySQL学习思维导图 0155道复习必备题+解析 一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mys.

weixin_47908466的博客 1569

Java面试MySQL核心考点:索引、事务、MVCC与SQL优化

在Java后端开发中,MySQL是持久化存储的核心组件,面试和工程实践都绕不开索引、事务与SQL优化等关键问题。理解B+树索引结构、聚簇索引与回表机制,掌握事务隔离级别、MVCC多版本并发控制以及锁的运作原理,是构建高性能数据库应用的基础。这些技术不仅决定数据查询效率,也影响系统在高并发场景下的数据一致性。从慢查询定位到死锁排查,从覆盖索引优化到深分页处理,每一个环节都需要扎实的原理支撑。本文围绕Java面试高频考点,系统梳理MySQL核心知识链路,帮助开发者快速建立完整复习框架。

weixin_34242819的博客 411

2024最新大厂Java面试真题解析,mysql面试题及答案

谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)66个Java面试知识点架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)算法刷题(PDF)

m0_61549953的博客 1080

MySQL基础面试必考10问(建议收藏)##

MySQL就像老朋友——你以为很熟了,每次面试总能发现新知识点!故意制造死锁看报错信息不同隔离级别下测试各种读现象用EXPLAIN分析自己的SQL语句(附送小技巧)面试被问到不会的问题,可以这么说:“这个问题我之前主要关注实战应用,理论层面还需要深入,您能简单说明下吗?” —— 既诚实又能引导面试官讲解!📢 互动时间:大家在MySQL面试中还遇到过哪些"奇葩"问题?

limanovember的博客 500

面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。 以下展示的阿里面试题(含答案)、学习资料、实战文档等,均可以免费分享给大家,帮忙转发一下,关注后添加助理vx:yunduoa2019或扫描下图二维码,跟随助理指引自行获取 01 蚂蚁

weixin_50666791的博客 189

MySQL优化原理分析及优化方案总结,真的太香了!

01 阿里面试题之MySQL 之前的阿里面试题都有做总结,具体面试题内容整理成了文档,本文是针对MySQL系列的,所以下面只展示了自己第一次面试阿里时被吊打问到的一些MySQL难题 请解释关系型数据库概念及主要特点? 请说出关系型数据库的典型产品、特点及应用场景? 请详细描述 SQL 语句分类及对应代表性关键字。 什么是 MySQL 多实例,如何配置 MySQL 多实例? 如何加强 MySQL 安全,请给出可行的具体措施? 误操作执行了一个 drop 库 SQL 语句,如何完整恢复? 详述 MySQL 主

m0_57472099的博客 277

mysql面试题

MySQL 面试题摘要 基础语法与数据类型 SQL语句分类:DDL(定义对象)、DML(操作数据)、DCL(权限控制)、TCL(事务管理) 特殊数据类型:ENUM(单选枚举)、SET(多选集合)、JSON(灵活存储) 时间类型对比:DATETIME(大范围无时区)和 TIMESTAMP(小范围有时区) 高级特性 视图:虚拟表简化查询和权限控制,但不支持索引 存储过程vs函数:存储过程支持事务和多返回值,函数可嵌入SQL语句 索引原理 B+树优势:查询稳定、范围查询高效、存储密度高 索引类型对比:相较于B树和

weixin_63462802的博客 716
上一篇: springboot打jar包,部署linux服务器和访问
下一篇: 微服务专题学习01
沐果果
博客等级 码龄10年 19粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值