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

数据库篇--八股文学习第十五天| 一条SQL查询语句是如何执行的?,事务的四大特性有哪些?,数据库的事务隔离级别有哪些?

  1、一条SQL查询语句是如何执行的?

答: 

  1. 连接器:连接器负责跟客户端建立连接、获取权限、维持和管理连接。
  2. 查询缓存: MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以key-value 对的形式,被直接缓存在内存中。
  3. 分析器:你输入的是由多个字符串和空格组成的一条SQL 语句,MySQL 需要识别出里面的字符串分别是什么,代表什么。
  4. 优化器:优化器是在表里面有多个索引的时候,决定使用哪个索引; 或者在一个语句有多表关联(join )的时候,决定各个表的连接顺序。
  5. 执行器: MySQL通过分析器知道了你要做什么,通过优化器知道了该怎么做,于是就进入了执行器阶段,开始执行语句。

2、事务的四大特性有哪些?

答:事务的四大特性通常被称为 ACID 特性

  1. 原子性:确保事务的所有操作要么全部执行成功,要么全部失败回滚,不存在部分成功的情况。
  2. 一致性:事务在执行前后,数据库从一个一致性状态转变到另一个一致性状态。
  3. 隔离性:多个事务并发执行时,每个事务都应该被隔离开来,一个事务的执行不应该影响其他事务的执行。
  4. 持久性:一旦事务被提交,它对数据库的改变就是永久性的,即使在系统故障或崩溃后也能够保持。

 3、数据库的事务隔离级别有哪些?

 答:

  1. 读未提交(Read Uncommitted):
    • 允许一个事务读取另一个事务尚未提交的数据修改。
    • 最低的隔离级别,存在脏读、不可重复读和幻读的问题。
  2. 读已提交(Read Committed):
    • 一个事务只能读取已经提交的数据。其他事务的修改在该事务提交之后才可见。
    • 解决了脏读问题,但仍可能出现不可重复读和幻读。
  3. 可重复读(Repeatable Read):
    • 事务执行期间,多次读取同一数据会得到相同的结果,即在事务开始和结束之间,其他事务对数据的修改不可见。
    • 解决了不可重复读问题,但仍可能出现幻读。
  4. 序列化(Serializable):
    • 最高的隔离级别,确保事务之间的并发执行效果与串行执行的效果相同,即不会出现脏读、不可重复读和幻读。
http://www.lryc.cn/news/416381.html

相关文章:

  • elk + filebeat + kafka实验和RSync同步
  • 子类到底能继承父类中的哪些内容?
  • 【超详细公式】曝光值(EV)、光圈(AV)、快门(TV)、感光度(SV)、照度(Lux)
  • 【Java】增强for遍历集合。
  • 【Qt】管理创建子项目
  • 力扣——238.移动零
  • 编程的魅力
  • 想提升跨境电商运营?浏览器多开为你助力!
  • 使用QML的ListView自制树形结构图TreeView
  • 2.MySQL面试题之索引
  • 复制CodeIgniter新版的array_group_by辅助函数
  • 合并两个 ES (Elasticsearch) 的数据
  • Linux网络协议.之 tcp,udp,socket网络编程(四).之网络转换函数htonl,ntohs等介绍
  • LXC和udev知识点
  • 基于springboot+vue+uniapp的智慧校园管理系统小程序
  • 论文辅导 | 基于概率密度估计与时序Transformer网络的风功率日前区间预测
  • 金蝶云星空单据体数量汇总-分组列信息
  • 树状数组基础知识以及相关习题
  • 2023大数据-架构师案例(八)
  • 【Python】Python:探索未来科技的风向标
  • Java语言程序设计——篇十一(6)
  • 2024年有哪些好用的文件加密软件?十款常用加密软件推荐
  • 书生大模型学习笔记3 - 书生开源大模型链路体系
  • 【竞技宝】奥运会:法国国奥淘汰埃及国奥晋级决赛
  • C++的STL简介(四)
  • NIO专题学习(一)
  • Linux学习笔记:Linux基础知识汇总(个人复习版)
  • MSR020/MSR040低温漂、低功耗电压基准
  • 一个是生产打包的时候, 一个是本地测试启动的时候,maven如何配置?
  • 公文字体包下载