若有收获,请记得分享和转发哦

  • 1.说一说三大范式

  • 2.MyISAM 与 InnoDB 的区别是什么?

  • 3.为什么推荐使用自增 id 作为主键?

  • 4.一条查询语句是怎么执行的?

  • 5.使用 Innodb 的情况下,一条更新语句是怎么执行的?

  • 6.Innodb 事务为什么要两阶段提交?

  • 7.什么是索引?

  • 8.索引失效的场景有哪些?

  • 9.为什么采用 B+ 树,而不是 B-树

  • 10.WAl 是什么?有什么好处?

  • 11.什么是回表?

  • 12.什么是索引下推?

  • 13.什么是覆盖索引?

  • 14.什么是最左前缀原则?

  • 15.普通索引和唯一索引该怎么选择?

  • 16.什么是事务?其特性是什么?

  • 17.事务的隔离级别?

  • 18.binlog 是做什么的?

  • 19.undolog 是做什么的?

  • 20.relaylog 是做什么的?

  • 21.redolog 是做什么的?

  • 22.redolog 是怎么记录日志的?

  • 23.redolog 和 binlog 的区别是什么?

  • 24.说一说 mvcc 吧,有什么作用?

  • 25.一条 Sql 语句查询一直慢会是什么原因?

  • 26.一条 Sql 语句查询偶尔慢会是什么原因?

  • 27.Mysql 主从之间是怎么同步数据的?

  • 28.主从延迟要怎么解决?

  • 29.删除表数据后表的大小却没有变动,这是为什么?

  • 30.为什么 VarChar 建议不要超过255?

  • 31.分布式式事务怎么实现?

  • 32.Mysql 中有哪些锁?

  • 33.为什么不要使用长事务?

  • 34.buffer pool 是做什么的?

  • 35.说说你的 Sql 调优思路吧


1.说一说三大范式

  • 「第一范式」:数据库中的字段具有「原子性」,不可再分,并且是单一职责

  • 「第二范式」「建立在第一范式的基础上」,第二范式要求数据库表中的每个实例或行必须「可以被惟一地区分」。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主键

  • 「第三范式」「建立在第一,第二范式的基础上」,确保每列都和主键列直接相关,而不是间接相关不存在其他表的非主键信息

但是在我们的日常开发当中,「并不是所有的表一定要满足三大范式」,有时候冗余几个字段可以少关联几张表,带来的查询效率的提升有可能是质变的

2.MyISAM 与 InnoDB 的区别是什么?

11.什么是回表?

21.redolog 是做什么的?

redolog 是 「InnoDB 存储引擎所特有的一种日志」,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。

可以做「数据恢复并且提供 crash-safe 能力」

当有增删改相关的操作时,会先记录到 Innodb 中,并修改缓存页中的数据,「等到 mysql 闲下来的时候才会真正的将 redolog 中的数据写入到磁盘当中」

  • 用来淘汰不常被访问的缓存页,分为热数据区和冷数据区,冷数据区主要存放那些不常被用到的数据

预读机制:

  • Buffer Pool 有一项特技叫预读,存储引擎的接口在被 Server 层调用时,会在响应的同时进行预判,将下次可能用到的数据和索引加载到 Buffer Pool

35.说说你的 Sql 调优思路吧

  • 1.「表结构优化」

    • 1.1拆分字段

    • 1.2字段类型的选择

    • 1.3字段类型大小的限制

    • 1.4合理的增加冗余字段

    • 1.5新建字段一定要有默认值

  • 2.「索引方面」

    • 2.1索引字段的选择

    • 2.2利用好mysql支持的索引下推,覆盖索引等功能

    • 2.3唯一索引和普通索引的选择

  • 3.「查询语句方面」

    • 3.1避免索引失效

    • 3.2合理的书写where条件字段顺序

    • 3.3小表驱动大表

    • 3.4可以使用force index()防止优化器选错索引

  • 4.「分库分表」

轻松一刻,欣赏美景

点击下方

面霸篇:MySQL 35 卷相关推荐

  1. MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...

  2. MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用

    MySQL数据库,从入门到精通:第七篇--MySQL单行函数应用 第七篇_单行函数 1. 函数的理解 1.1 什么是函数 1.2 不同DBMS函数的差异 2. 数值函数 2.1 基本函数 2.3 三角 ...

  3. MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法

    MySQl学习(MySQL数据库,从入门到精通:第四篇--MySQL中常用的运算符及其用法 第四篇_MySQL中常用的运算符及其用法运算符 1. 算术运算符 1.加法与减法运算符 2.乘法与除法运算符 ...

  4. 32位mysql安装包_《MySQL 入门教程》第 02 篇 MySQL 安装

    文章来源:<MySQL 入门教程>第 02 篇 MySQL 安装 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇我们了解了什么是MySQL数据库. 本文介绍如何在 Window ...

  5. 【OpenCV 例程200篇】35. 图像的投影变换(边界填充)

    [OpenCV 例程200篇]35. 图像的投影变换(边界填充) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 投影 ...

  6. 服务端指南 数据存储篇 | MySQL(03) 如何设计索引

    改善性能最好的方式,就是通过数据库中合理地使用索引,换句话说,索引是提高 MySQL 数据库查询性能的主要手段.在下面的章节中,介绍了索引类型.强制索引.全文索引. 原文地址:服务端指南 数据存储篇 ...

  7. MySQL基础篇-MySQL 命令大全

    当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯 要看进阶篇的小伙伴点着哦!!!! MySQL进阶篇 - 索引篇 1.启动MySQL,备份数据: 1.1启动MySQL服务: cmd 命令行 ...

  8. MySQL数据库,从入门到精通:第十四篇——MySQL视图详解

    MySQL数据库,从入门到精通:第十四篇--MySQL视图详解 第 14 篇_视图 1. 常见的数据库对象 2. 视图概述 2. 1 为什么使用视图? 2. 2 视图的理解 3. 创建视图 3. 1 ...

  9. 实用篇 | MySQL 学习笔记

    实用篇 | MySQL 学习笔记 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management S ...

最新文章

  1. mvc中signalr实现一对一的聊天
  2. C++ STL中哈希表 hash_map介绍
  3. 汉诺塔 X HDU - 2511
  4. Apache Camel 3.2 – Camel的无反射配置
  5. python txt转json_实战篇 | 用Python来找你喜欢的妹子(二)
  6. Android 性能优化工具
  7. 2020_1123_生活记录
  8. gorm软删除_删除 |《GORM 中文文档 v1》| Go 技术论坛
  9. c语言任务设计书,C语言课程设计任务书(必备).pdf
  10. 办公神器,专治低效——特色功能软件工具
  11. matlab在非线性动力学,基于Matlab的非线性动力学系统分析
  12. AgentWeb嵌套h5 上传图片文件
  13. 8.5 专业的“对口” ——《逆袭大学》连载
  14. PhantomReference虚引用
  15. BouncyCastle使用注意事项
  16. s盒密码c语言源代码csdn,AES中S盒的c语言实现及代码
  17. 前端基础——CSS布局
  18. 冒号 : 与双冒号 :: 的C++用法
  19. for语句讲解与举例
  20. 非小细胞肺癌计算机软件,Hsp90在中国人群非小细胞肺癌临床诊治应用的Meta分析...

热门文章

  1. APP页面类型功能的测试点
  2. 今天给大家分享使用Scratch做飞不出去的醉酒蝴蝶!
  3. gcms基峰有什么用_GC-MS十二种个常见问题和解决办法
  4. [6 kyu] Playing with digits
  5. Java重载与返回值
  6. Object转Map的几个坑
  7. C++中的虚析构函数
  8. 2023最新网络工程师面试大全,全都答得上offer绝对拿到手软
  9. 2023[上海]海外*置业*移民展(July)世贸展览馆
  10. 老宇哥带你玩转ESP32:03 GPIO数字输入与数字输出