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

MySQL速记小册(1)

1

【Q】:Mysql中的数据排序是怎么实现的?

【A】:

  1. 排序过程中如果字段有索引,则利用索引排序。反之使用文件排序。在文件排序中,如果数据量少则在内存中排序,使用单路排序或双路排序。如果数据量大则利于磁盘文件进行外部排序,一般是归并排序。

2

【Q】:Mysql的Chang Buffer是什么?

【A】:

  1. Chang Buffer是Mysql InnoDB存储引擎的一个机制,用于暂存对二级索引的删除和更新操作的变更,而不是立刻执行这些操作,随后,当InnoDB进行合适的条件时(如页被读取或Flush操作),会将这些变更写入到二级索引中。
  2. 作用:
    1. 提高写入性能,提高对二级索引的变更缓存,可以减少对磁盘的频繁写入,提升插入和更新操作的性能。
    2. 批量处理,Chang Buffer 可以在后续的操作中批量处理这些变更,减少了随机写入的开销。

3

【Q】:详细描述一下一条SQL语句在MySQL的执行过程

【A】:

  1. 先通过连接器校验权限。
  2. 再利用分析器进行SQL语句的词法分析和语法分析,构建解析树。
  3. 使用优化器选择合适的索引和表连接顺序,最终选择一个最佳的执行计划。

4

【Q】:Mysql主要的存储引擎包括:

【A】:

  1. InnoDB:支持事务 ,行级锁和外键。提供高并发性能,适用于高负载的OLTP应用。数据以聚集索引的方式存储,提高检索效率。
  2. MyISAM:不支持事务和外键,适用表级锁。适合读取多,更新少的场景,如数据仓库。具有较高的读性能和较快的表级锁定
  3. MEMORY和NDB和ARCHIVE。

5

【Q】:Mysql的索引类型有什么?

【A】:

  1. 从数据结构角度来看,Mysql索引可以分为以下几类:
    1. B+树索引
    2. 哈希索引
    3. 倒排索引(即全文索引 Full-Text)
    4. R-树索引(多维空间树)
  1. 从常见的基于InnoDB B+树索引角度来看,可以分为:
    1. 聚簇索引
    2. 非聚簇索引
  1. 索引性质角度来看,普通索引,主键索引,联合索引,唯一索引,全文索引,空间索引

6

【Q】:InooDB 引擎中的聚簇索索引和非聚簇索引区别

【A】:

  1. 聚簇索引
    1. 索引叶子节点存储的是数据行,可以直接访问完整数据。
    2. 每一个表只能有一个聚簇索引,通常是主键索引,适合访问查询和排序
  1. 非聚簇索引
    1. 索引叶子节点存储的是数据行的主键和对应的索引列,需通过主键才能访问完整的数据行。
    2. 一个表可以有多个非聚簇索引,适用于快速查找特定列的数据。

7

【Q】:MySQL里面的回表是什么?

【A】:

  1. 回表是指在使用二级索引(非聚簇索引)作为进行查询时,由于二级索引中只存储了索引字段的值和对应的主键值,无法获得其他数据。如果要查询数据行中的其他数据,需要根据主键去聚簇索引中查找实际的数据行,这个过程被称为回表。

8

【Q】:索引的最左前缀匹配原则是什么?

【A】:

  1. Mysql索引的最左前匹配原则是指在使用联合索引时,查询条件必须从索引条件的最左侧开始匹配。如果一个联合索引包含多个列,查询条件必须包含第一列的条件,然后是第二列,以此类推。
  2. 底层原理:因为联合索引在B+树中的排序方式遵循“从左到右”的顺序,列如联合索引(frist_name,last_name, age)会按照此顺序在B+树中进行排序。
  3. 组合索引能从左到右依次高效匹配,跳过最左侧字段会导致无法利用该索引。

9

【Q】:Mysq覆盖l索引是什么?

【A】:

  1. Mysql覆盖索引是指二级索引中包含了查询所需的所有字段,从而使查询可以仅通过访问二级索引而不需要访问实际的表数据(主键索引)。

10

【Q】:索引下推是什么?

【A】:

  1. 索引下推是一种减少回表查询,提高查询效率的技术。允许Mysql在使用索引查找数据时,将部分查找条件下推到存储引擎层过滤,从而减少需要从表中读取的数据行,减少IO(本应该由service做的操作交给了存储引擎层操作,因此叫做下推)。

文章转载自:

http://t5AgtW5L.qnwyf.cn
http://gYPe1SGb.qnwyf.cn
http://g1Gjz8OI.qnwyf.cn
http://rNLvXUhb.qnwyf.cn
http://KTvmx55h.qnwyf.cn
http://xYARI9RL.qnwyf.cn
http://lqXr5E1v.qnwyf.cn
http://Hab4MYvL.qnwyf.cn
http://Qj7AKuRt.qnwyf.cn
http://5cI4i5KM.qnwyf.cn
http://abA0AsHX.qnwyf.cn
http://x6LugSlV.qnwyf.cn
http://oWE796VN.qnwyf.cn
http://anizizGI.qnwyf.cn
http://ukTDLzB0.qnwyf.cn
http://8ZhaXHPz.qnwyf.cn
http://cjG72tdk.qnwyf.cn
http://2OQOm1zn.qnwyf.cn
http://YOT6nzTP.qnwyf.cn
http://UBbRzVik.qnwyf.cn
http://WtLLBpcC.qnwyf.cn
http://E35qQEpD.qnwyf.cn
http://D5TIeO2o.qnwyf.cn
http://q6UBRNnR.qnwyf.cn
http://rklHznLz.qnwyf.cn
http://LkeQkRZ0.qnwyf.cn
http://iXFbRZvD.qnwyf.cn
http://HsH2wjZZ.qnwyf.cn
http://GyTUviev.qnwyf.cn
http://b0PAbSf9.qnwyf.cn
http://www.dtcms.com/a/373480.html

相关文章:

  • PI3K/AKT信号通路全解析:核心分子、上游激活与下游效应分子
  • Spring框架中使用的核心设计模式 及其 使用场景
  • C++ 设计模式《外卖菜单展示》
  • sv语言中压缩数组和非压缩数组
  • C++----验证派生类虚函数表的组成
  • moxa uport1150串口驱动ubantu20.04 5.15内核安装
  • 中州养老项目:登录功能项目鉴权
  • 2025年渗透测试面试题总结-58(题目+回答)
  • [Dify实战]插件编写- 如何让插件直接输出文件对象(支持 TXT、Excel 等)
  • StringBuilder类的数据结构和扩容方式解读
  • SQL 层面行转列
  • XR数字融合工作站赋能新能源汽车专业建设的创新路径
  • 大模型(LLM)安全保障机制(技术、标准、管理)
  • 【LeetCode】String相关算法练习
  • Redis基本数据类型
  • 深度学习(三):监督学习与无监督学习
  • crew AI笔记[5] - knowledge和memory特性详解
  • MyBatis多数据库支持:独立 XML 方案与单文件兼容方案的优劣势分析及选型建议
  • 安卓玩机工具----安卓“搞机工具箱”最新版 控制手机的玩机工具
  • 100、23种设计模式之适配器模式(9/23)
  • Docker网络模式解析
  • ARM处理器基础
  • TDengine 选择函数 First 用户手册
  • 9.8网编基础知识day1
  • 卷积神经网络(CNN):从图像识别原理到实战应用的深度解析
  • 【LeetCode - 每日1题】将整数转换为两个无零整数的和
  • 【超详细图文教程】2025年最新 Jmeter 详细安装教程及接口测试示例
  • MongoDB 常见错误解决方案:从连接失败到主从同步问题
  • Guava中常用的工具类
  • Entity Digital Sports 降低成本并快速扩展