[个人感悟] MySQL应该考察哪些问题?

在这里插入图片描述


前言

数据存储一直是软件开发中必不可少的一环, 从早期的文件存储txt, Excel, Doc, Access, 以及关系数据库时代的MySQL,SQL Server, Oracle, DB2, 乃至最近的大数据时代f非关系型数据库:Hadoop, HBase, MongoDB. 此外还有顺序型数据库InfluxDB, 图数据库Neo4J, 分布式数据库TiDB, SharingSphere等等. 数据库在当下的环境开发中可谓是多种多样, 五花八门.

Java开发的项目, 基本已中小型为主, 作为千万级开源数据库的MySQL则是大多数项目的首选.此外, MySQL作为传统关系型数据库的代表, 正好适合考察SQL及其相关知识的掌握情况. 其基本考察点主要涉及如下几个问题: MySQL基本架构, MySQL基本数据类型&DML&DDL语法, SQL实战, 索引, 事务, 分库分表.


问题

问题-架构

  • 能聊聊MySQL的基本架构么?

  • MySQL支持的存储引擎有哪些, 你主要使用过哪种? 说说你的理解?

  • 能聊聊InnoDB存储引擎的基本架构么?

问题-索引

  • 什么是索引?

  • MYSQL内所有的基本种类有哪些?不同分类标准.

  • MySQL索引的基本实现原理。

  • MySQL如何高效的创建和选择索引?

  • MySQL内索引失效的原因有哪些?

  • MySQL内如何知道是否命中索引? explain关键字用过么? 需要注意哪些关键字?

  • [最左依赖原则-实战1] 表A有字段a,b,c, 且有idx(a,b,c), 试问select * from table where a=‘a’ and ‘‘b’=b and c=‘c’ 会命中索引么?

  • [最左依赖原则-实战2] 表A有字段a,b,c, 且有idx(a,b,c), 试问select * from table where ‘‘b’=b and c=‘c’ 会命中索引么?

  • [最左依赖原则-实战3] 表A有字段a,b,c,d 且有idx(a,b,c), 试问select * from table where ‘‘b’=b and c=‘c’ 会命中索引么?

问题-事务

  • 什么是MySQL事务?

  • MySQL事务基本特性有哪几个? 各是如何保证的?

    • 如何保证事务的原子性?
    • 如何保证事务的一致性?
    • 如何保证事务的隔离性?
    • 如何保证事务的持久性?
  • [脏读/幻读/不可重复读]MySQL内事务的隔离级别有哪几种? 各会产生什么问题? 如何解决?

    • 了解MySQL内的当前读和快照读么? 其是如何实现的?
    • 什么是幻读? 如何解决幻读问题?
    • 什么是脏读? 如何解决脏读问题?
    • 什么是不可重复读? 如何解决不可重复读问题?
    • MySQL内读读并发会产生什么问题? 读写并发么? 写写并发呢? [注意事务的隔离级别]
  • 你们生产中, 使用的事务的隔离级别是哪种? 各有什么优劣性? 如何查看? 如何修改?

    • 读已提交和可城重复度皆可. 但是要说出原理?
  • 聊聊你对MySQL内日志文件的理解?

  • MySQL 内 binlog, undolog, redolog 写的现后顺序?

  • MySQL 内 undolog, redolog 写的现后顺序?

  • 什么是MVCC? 其如何实现的? 谈谈你对他的理解?

问题-锁

锁通常是作为事务的引申存在的. 在InnoDB存储引擎中, 读已经提交事务级别下. 比如间隙锁, 临键锁 通常是为了解决幻读问题的。(mvcc无法解决的问题) 其余事务级别下通常存在的是记录锁, 也叫行锁.

  • MySQL 内, 锁的种类有哪些?

  • 什么是记录锁, 间隙锁, 临界锁?

  • InnoDB, 读已经提交级别下, 表tableA(a int, b int) a非主键., select * from tableA where a=10 会创建什么类型的锁?

  • InnoDB, 读已经提交级别下, 表tableA(a int, b int) a为主键., select * from tableA where a=10 会创建什么类型的锁?

  • 如何查看InnoDB引擎执行操作时是否加了何种类型的锁?

  • 什么情况会产生MySQL内死锁?

  • 如何查看MySQL死锁问题日志?

  • 如何解决MySQL内死锁问题?

问题-分库分表

如不涉及此项, 可略.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

陀螺仪LSM6DSV16X与AI集成(8)----MotionFX库解析空间坐标

陀螺仪LSM6DSV16X与AI集成.8--MotionFX库解析空间坐标 概述视频教学样品申请源码下载开启CRC串口设置开启X-CUBE-MEMS1设置加速度和角速度量程速率选择设置FIFO速率设置FIFO时间戳批处理速率配置过滤链初始化定义MotionFX文件卡尔曼滤波算法主程序执行流程lsm6dsv16x_motion_fx…

Spring IOC架构设计解析

一、spring famework 模块解析 二、SpringIOC容器:Core Container: Beans、Core、Context、Expression 三、BeanFactory (该接口定义了容器最基本的功能方法)和 ApplicationContext(对容器提供了更丰富的功能扩展,大部分应用中所使用的基于它实现&…

LLM之表格理解任务-文本模态

这一章我们聊聊大模型表格理解任务,在大模型时代主要出现在包含表格的RAG任务,以及表格操作数据抽取文本对比等任务中。这一章先聊单一的文本模态,既你已经通过OCR或者多模态等方式从PDF或者图片中获取了表格的文本数据。和前文相同&#xff…

Kompas AI 语音识别技术的对比

一、引言 在人工智能(AI)领域,语音识别技术已经成为现代智能助手和设备的重要组成部分。随着技术的不断发展,语音识别的准确度和应用范围也在逐步扩大。本文将对比Kompas AI与其他主要AI产品在语音识别技术上的表现,突…

嵌入式学习——数据结构(双向无头有环链表、内核链表、栈)——day48

1. 约瑟夫环问题——双向无头回环链表 1.1 问题描述 给定 ( n ) 个人(编号为 ( 1, 2, \ldots, n )),他们围成一个圈。从第一个人开始报数,每报到第 ( k ) 个人时,杀掉这个人,然后从下一个人重新开始报数。…

Softing “Ethernet-APL现场交换机”亮相ACHEMA 2024

Softing工业在ACHEMA 2024上展示了新的“aplSwitch Field”。作为一个先进的16端口以太网高级物理层(Ethernet-APL)现场交换机,它配有可选的PROFIBUS Process Automation(PA)代理,适用于Zone 2环境&#xf…

Windows 可变刷新率是什么?如何开启?

在现代计算设备中,显示屏的刷新率对用户体验起着至关重要的作用。随着显示技术的不断进步,固定刷新率显示器逐渐被支持可变刷新率(Variable Refresh Rate, VRR)技术的显示器所取代。 可变刷新率定义 可变刷新率是什么&#xff1…

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现 💬 系统登录注册 系统登录 登录界面 用户添加 💬 抗疫列表展示模块 区域信息管理 …

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以…

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充&#xff…

初学51单片机之PWM实例呼吸灯以及遇到的问题(已解答)

PWM全名Pulse Width Modulation中文称呼脉冲宽度调制 如图 这是一个周期10ms、频率是100HZ的波形,但是每个周期内,高低电平宽度各不相同,这就是PWM的本质。 占空比是指高电平占整个周期的比列,上图第一个波形的占空比是40%,第二个…

ROS话题通信流程自定义数据格式

ROS话题通信流程自定义数据格式 需求流程实现步骤定义msg文件编辑配置文件编译 在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些…

CST电磁仿真软件的参数类型和含义【电磁仿真入门教程】

如果你是一位工程师或设计师,那你对电磁仿真软件CST Studio Suite一定不会感到陌生。CST软件可以帮助你模拟电磁场和电路行为,从而优化产品设计。本文将带你了解CST电磁仿真软件的一些关键参数,并解释其含义。CST电磁仿真软件的参数是指在使用…

2024年文化传播与公共艺术国际会议(CCPA 2024)

2024年文化传播与公共艺术国际会议(CCPA 2024) 2024 International Conference on Cultural Communication and Public Arts 【重要信息】 大会地点:桂林 大会官网:http://www.icccpa.com 投稿邮箱:icccpasub-conf.co…

神经网络参数-----学习率(Learning Rate)

学习率 学习率是训练神经网络的重要超参数之一,它代表在每一次迭代中梯度向损失函数最优解移动的步长。它的大小决定网络学习速度的快慢。在网络训练过程中,模型通过样本数据给出预测值,计算代价函数并通过反向传播来调整参数。重复上述过程…

linux系统指令查漏补缺

目录 一.磁盘操作 二.lvm 三.top 4.nohup 一.磁盘操作 1. lsblk -f 显示磁盘和它的相关内容 2.tuen2fs -c -1 /dev/sdx 关闭某个磁盘的自检 3.修改配置,使文件系统不要开机自检 cat /etc/fstab 全0表示开机不自检 全1表示开机自检 同时在这个文件中可添加…

欧洲杯赛况@20240623

估计点击标题下「蓝色微信名」可快速关注 老牌劲旅捷克队面对格鲁吉亚,这是两队的首次交锋,格鲁吉亚是很放松的状态,每场比赛对他们都很新鲜,而捷克则谨慎多,至今为止,最倒霉的球员,可能就是捷克…

TensorFlow高阶API使用与PyTorch的安装

欢迎来到 Papicatch的博客 文章目录 🍉TensorFlow高阶API使用 🍈示例1:使用tf.keras构建模型 🍍通过“序贯式”方法构建模型 🍍通过“函数式”方法构建模型 🍈示例2:编译模型关键代码 &am…

B端列表:筛选器设计的十大要点,都是干货。

一、列表页的筛选器有什么作用 在B端电商平台或者企业内部管理系统中,列表页的筛选器是非常重要的功能之一。它能够帮助用户快速准确地找到所需的信息,提高工作效率,为企业的运营和决策提供有力支持。 首先,列表页的筛选器可以帮…

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等&…