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

面试 八股文 经典题目 - Mysql部分(一)

Mysql

目录

Mysql

1.讲讲索引sql的执行过程

2. 讲讲事务提交的步骤

3. 讲讲期间涉及到的redo log、binlog、undo log原理。

4. 索引引用的什么树 请介绍:

5. 线程池和Mysql锁类型


1.讲讲索引sql的执行过程

一条sql的查询执行多个阶段,包括解析,优化和执行。索引的核心作用就是减少磁盘I/O和扫描开销,通过高效定位数据。

通过优化器选择索引路径,执行器减少扫描范围。启用索引后,聚集索引直接定位数据,非聚集索引直接回表,这极大提高了效率,尤其在高并发或大数据表场景。实际性能取决于索引设计,如避免索引碎片或无效索引。


2. 讲讲事务提交的步骤

 1. 写入日志缓冲区 

 2. 日志缓冲区刷盘

 3. 更新内部事物状态

 4. 释放锁和资源

5. 确认提交成功


3. 讲讲期间涉及到的redo log、binlog、undo log原理。

redo log:重写日志,InnoDB的物理日志   原理:写入时机,事物执行过程中,数据修改同时生成redo log记录;刷盘规则,事物提交时强制将缓冲区刷到磁盘文件;物理特性,记录数据页的物理修改;存储结构,循环写入文件组,空间满时覆盖旧日志。

binlog(二进制日志):逻辑日志,原理:写入时机,事物提交后写入;逻辑特性,记录原始SQL和行数据变更;刷盘规则:通过sync_binlog来控制刷盘频率;存储结构,追加写入,文件不会覆盖

undo log(回滚日志):逻辑日志,原理:写入时机,数据修改前生成undo log;存储内容,记录数据修改前的旧版本;提交处理,事物提交立即删除,标记为可清理状态(由后台purge线程异步回收)


4. 索引引用的什么树 请介绍:

首先一开始用的是简单树,如二叉树和平衡树,但对大数据集和磁盘存储时,会导致读写延迟变大,于是就引进了B+树

B+树是现代数据库的标配索引结构。它的非叶子节点仅存储关键字,作为导航路径,不存储实际数据,叶子节点链表支持扫描而非全树遍历。因此B+树是目前磁盘索引的主流选择。


5. 线程池和Mysql锁类型

线程池:是一种管理并复用线程资源的机制;先任务提交,再进行线程分配,核心线程忙的话任务入队列等待,当队容满时创建新线程,队列和线程全满时触发拒绝机制,非核心线程超时后自动销毁。

Mysql锁类型:首先我们要明白mysql锁机制是保障数据一致性和事务隔离核心,主要分为表级锁行级锁俩部分

表级锁用于整张表:共享锁:允许多事务读取数据,阻塞写操作   

                                排他锁:仅允许单事务读写数据,阻塞其他所有操作

                                 意向锁:避免全表扫描时,行锁与表锁冲突

行级锁仅用于单行或行间隙:记录锁:锁定索引记录本身

                                               间隙锁:锁定索引记录间的间隙

                                               临建锁:记录锁和间隙锁的结合

http://www.dtcms.com/a/357905.html

相关文章:

  • 数据结构--栈(Stack) 队列(Queue)
  • 从单机到分布式:Python 爬虫架构演进
  • kmp 算法
  • 【MLLM】多模态理解Ovis2.5模型架构和训练流程
  • 模式组合应用-组合模式
  • 加速智能经济发展:如何助力“人工智能+”战略在实时视频领域的落地
  • 时间轴组件开发:实现灵活的时间范围选择
  • More Effective C++ 条款17: 考虑使用缓式评估(Consider Using Lazy Evaluation)
  • centos7.9的openssh漏洞修复脚本
  • 软考 系统架构设计师系列知识点之杂项集萃(137)
  • 响应式编程框架Reactor【5】
  • PostgreSQL表空间(Tablespace)作用(管理数据库对象的存储位置)(pg_default、pg_global)
  • STL库——list(类模拟实现)
  • 将LLM模型“钉”在电路板上:用电阻矩阵实现物理推理引擎
  • Nacos-3.0.3 适配PostgreSQL数据库
  • openGauss笔记
  • rabbitMQ延时队列实现,怎么保证消息的幂等
  • HTML 核心元素实战:超链接、iframe 框架与 form 表单全面解析
  • 【WDG协议栈】AUTOSAR架构下WDG模块软硬件功能详解
  • 基于单片机指纹考勤系统/智能考勤
  • ⸢ 叁 ⸥ ⤳ 默认安全:概述与建设思路
  • 【Day 33】Linux-MySQL 备份与恢复详解
  • 从分子工具到技术革新:链霉亲和素 - 生物素系统与 M13 噬菌体展示的交叉应用解析
  • 针对 “TCP 数据传输机制” 的攻击
  • vue2下拉菜单
  • 服务器托管多少钱一年?服务器托管收费标准
  • C++day2作业
  • TuringComplete游戏攻略(2.2存储器)
  • 【C++】类和对象(终章)
  • 数值分析——误差的来源与分类、误差的基本概念(绝对误差、相对误差、有效数字)