【Mysql】知识体系结构构建以及常见考题汇总

news2024/12/24 7:31:49

【Mysql】知识体系结构构建以及常见考题汇总

  • 1、基本SQL知识
    • 1.1、D_L语法以及表中常用约束
    • 1.2、mysql表列常用数据结构
    • 1.3、事务(此处展示并发事务问题以及解决方案、实现原理见2.3)
      • read uncommitted有脏读问题
      • read committed解决脏读、有不可重复读问题
      • repealable read解决不可重读、有幻读问题
      • serializable解决幻读
  • 2、Mysql结构
    • 2.1、执行一条 select 语句,期间发生了什么?
    • 2.2、服务层相关
    • 2.3、执行引擎(以innodb为例)
      • 2.3.1、innodb内存结构
      • 2.3.2、innodb事务原理
      • 2.3.3、索引
        • 创建索引以及设计规范
        • 索引分类以及innodb实现数据结构
        • sql性能分析(如何查看使用索引好)以及索引使用失效原则
  • 3、Mysql部署相关
  • 4、常见面试题汇总

Mysql知识整理基于黑马教程

b站黑马教程

小林coding

在这里插入图片描述

1、基本SQL知识

1.1、D_L语法以及表中常用约束

在这里插入图片描述

【SQL】以mysql为例系统学习DQL理论知识

1.2、mysql表列常用数据结构

在这里插入图片描述

1.3、事务(此处展示并发事务问题以及解决方案、实现原理见2.3)

在这里插入图片描述

隔离级别解决三种并发事务问题:
1、读未提交read uncommitted(三种问题都不解决)
2、读已提交read committed(oracle默认解决脏读的方案)
3、可重复读repealable read(mysql 默认):解决脏读、不可重复读
4、serializable串行化,全部解决

read uncommitted有脏读问题

在这里插入图片描述

read committed解决脏读、有不可重复读问题

解决脏读:
在这里插入图片描述
不可重复读
在这里插入图片描述

repealable read解决不可重读、有幻读问题

解决不可重复读:这里是引用
但有幻读问题:
在这里插入图片描述

serializable解决幻读

在这里插入图片描述

2、Mysql结构

在这里插入图片描述
在这里插入图片描述

2.1、执行一条 select 语句,期间发生了什么?

连接池-【缓存】-解析器-预处理-优化器-执行器-innodb存储引擎

2.2、服务层相关

在这里插入图片描述

锁:

MySQL 有哪些锁

优化器:针对优化器的执行效率,SQL优化:分为
insert优化插入遵循innodb存储引擎结构,顺序插入;
主键遵循innodb存储引擎结构对索引的存储
update并发操作,为了行锁,where 跟有索引的列
select语句中count(*/0)=count(1)>count(主键)>count(字段)

count(?)执行效率

2.3、执行引擎(以innodb为例)

在这里插入图片描述

2.3.1、innodb内存结构

innodb物理结构的内存结构buffer pool缓冲区

2.3.2、innodb事务原理

事务隔离机制实现原理
事务原理涉及到的日志redo重做、undo回滚、binlog备份

2.3.3、索引

索引

创建索引以及设计规范

在这里插入图片描述

索引分类以及innodb实现数据结构

在这里插入图片描述

sql性能分析(如何查看使用索引好)以及索引使用失效原则

在这里插入图片描述

3、Mysql部署相关

其中包含:mysql默认包含的数据库,日志排查错误、数据恢复、查询日志、慢查询(sql性能排查)、主从复制(依赖数据恢复日志binlog)、读写分离和分库分表

在这里插入图片描述

4、常见面试题汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android基础学习(二十)—— 线程安全

1、Android中线程的常见用法 (1)继承 Thread class MyThread extends Thread{Overridepublic void run(){//处理具体的逻辑} } new MyThread().start(); //启动此线程//使用匿名类 new Thread(){Overridepublic void run(){//处理具体的逻辑} }.star…

【加油站会员管理小程序】03 创建应用

我们上一篇介绍了数据源的创建,本篇我们介绍应用的创建。 微搭低代码中一共有两类应用,一类是数据模型应用,一类是自定义应用。数据模型应用往往对应着PC端的管理后台,例如我们的小程序通常需要一个管理后台来录入数据。 自定义…

【linux】2022年还能用,网易真的是良心啊,网易云音乐linux版本现在还是可以使用的超赞!!官方网的下载地址还可以使用,音乐使用的是qt5进行开发的。

目录前言1,关于网易云音乐2,可以正常使用,可以登录前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/128261513 未经博主允许不得转载。 博主CSDN地址是:https://blog.csdn.net/freewebsys 博主掘金地址…

vue.js:父子组件的实训案例

作业需求 需求1:定义两个输入框,通过输入框输输入的值改变页面显示的值需求2:改变第一个输入框的值的同时使得第二个输入框的值变为100倍并显示需求3:改变第二个输入框的值的同时使得第一个输入框的值变为1/100并显示 实训代码实…

CentOS搭建基于ZIPKIN的数据追踪系统

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其…

TinUI4.0发布

引言 TinUI4登场~~~ 更新一览: 优化radiobox效果修复listview返回元素不全的问题新增树状图 treeview使用TinUI LOGO.ico新增普通图片 image随包发布 TinUI帮助手册 实用程序,在\test目录下 修复 这是常规更新,修复了listview创建过程中…

ChatGPT怎么用

最开始了解ChatGPT居然是抖音上看到的,之前了解过GPT-3,最开始认为可能类似的语言模型,上手以后才发现,这玩意挺有意思,某些方面,比百度强,但是比人还差十万八千里,智力不好说&#…

【Proteus仿真】【STM32单片机】智能浴室水温调控仪设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602、DS18B20、继电器加热、电机模块等。 系统运行后,LCD1602显示DS18B20采集温度值、温度上限阈值。 开启加水,一段…

PostgreSQL实战之物理复制和逻辑复制(四)

目录 PostgreSQL实战之物理复制和逻辑复制(四) 4 流复制监控 4.1 pg_stat_replication 4.2 监控主备延迟 4.3 pg_stat_wal_receiver PostgreSQL实战之物理复制和逻辑复制(四) 4 流复制监控 4.1 pg_stat_replication 主库上主…

Dual-Path Fusion:遥感融合

DPFN: A Dual-Path Fusion Network for Pan-Sharpening (一种用于泛锐化的双路径融合网络) 大多数现有深上用于pan-sharpening方法的几个公认的问题,如光谱失真和足够的空间纹理增强。针对这些问题,提出了一种新的双路径融合网络…

浙大全日制英文MBA项目申请的五大关键词

2023级开始,浙大全日制英文MBA项目全面登场!对于这个项目的了解,大多数考生还不是特别清楚,因为很多考生更加关注的是“全日制”而非英文MBA本身的情况,如果还是带着以往对中文全日制MBA项目的理解来申请这个项目&…

《Linux运维实战:使用Percona Server for MongoDB物理备份与恢复Mongodb数据》

一、备份与恢复方案 Percona Server for MongoDB 是一个免费的、增强的、完全兼容的、源代码可用的、带有企业级功能的MongoDB Community Edition的替代品。它不需要对MongoDB应用程序或代码进行更改。Percona Server for MongoDB支持版本 > 3.6 。 说明:当前环…

【通知】《生成对抗网络GAN原理与实践》代码开源,勘误汇总!

有三上个月出版了新书《生成对抗网络GAN:原理与实践》,Generative Adversarial Networks(中文名生成对抗网络,简称GAN)自从被提出来后,其发展就非常迅猛,几乎已经被应用于所有CNN可以使用的领域…

Js逆向教程21-vscode无环境联调

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Js逆向教程21-vscode无环境联调 一、环境安装 电脑安装visual code 电脑安装node.js 二、nodejs环境调试 vscode打开一个文件夹并创…

valet-windows

现在win可以用valet了,安装开始 环境参考 1》安装PHP 版本7.4.32 2》安装composer 2.4 安装valet 1》composer global require cretueusebiu/valet-windows 2》valet install 3》这里有2中方法,本人选择link valet link [name] 浏览器中输入 name.te…

[附源码]计算机毕业设计健身房预约平台Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

20221210英语学习

今日新词: authorize v.授权, 批准 layoff n.临时解雇, 操作停止, 活动停止期间 jazz adj.爵士音乐的, 不调和的, (色彩等)花哨恶俗的 overlap v.(与…)交叠,部分重叠;时间交叠;有共同之处 subject n.…

Matlab中的数据类型

数据类型 MATLAB中的数据类型主要包括数值类型、逻辑类型、字符串、函数句柄、结构体和
单元数组类型。这6种基本的数据类型都是按照数组形式存储和操作的。另外,MATLAB
中还有两种用于高级交叉编程的数据类型,分别是用户自定义的面向对象的用户类类型…

【考研数据】二.2021年BJTU计算机学院考研录取数据分析

欢迎订阅本专栏:《北交计算机复试经验》 订阅地址:https://blog.csdn.net/m0_38068876/category_12110003.html 【考研数据】一.2020年BJTU计算机学院考研录取数据分析【考研数据】二.2021年BJTU计算机学院考研录取数据分析【考研数据】三.2022年BJTU计算机学院考研录取数据分…

web端 无插件 实时视频预览

一,需求 项目需要在web上对相机采集的图片进行编码成视频,然后进行实时预览。以前调研的方案有以下两种: 1,客户端安装ocx插件,浏览器调用插件进行解码,渲染。但是浏览器支持有限,只有ie支持&…