八股训练营第 16 天 | 一条SQL查询语句是如何执行的?事务的四大特性有哪些?数据库的事务隔离级别有哪些?

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

  1. 连接器:负责和客户端连接。获取权限,维护和管理连接。
  2. 查询缓存:仅在 MySQL 8.0 之前。当执行一条 SELECT 语句时2,MySQL 会在查询缓存里检查之前是不是执行过这样的语句,如果找到数据的话则直接返回数据。
  3. 分析器:对输入的 SQL 语句进行词法分析和语法分析。提取关键词和表、字段。构建语法树。
  4. 优化器:对索引进行优化。如果使用了多个索引,优化器会决定使用哪个索引。如果使用了 JOIN 连接,优化器会决定表的连接顺序。
  5. 执行器:当分析器告诉了做什么、优化器告诉了怎么做之后,执行器开心真正执行。

事务的四大特性有哪些?

事务是一组不可分割的操作集合,要么全部成功,要么全部失败回滚。

事务的四大特性:

  1. 原子性:事务要么全部成功,要么全部失败回滚,不可能出现部分成功的情况。
  2. 一致性:事务执行前后,数据库中的数据应满足一致性状态。
  3. 隔离型:并发事务执行不受其他事务干扰。
  4. 持久性:事务一旦执行成功,它对数据库的影响就是持久的。即使数据库崩溃也可以恢复。

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

  1. 读未提交
    • 一个事物可以读取另一个事务还未提交的数据。
    • 最低的事务隔离级别,存在脏读、不可重复读、幻读的问题。
  2. 读已提交
    • 一个事务对数据的修改只有在它提交后才对其他事务可见、才能被其他事务读到。
    • 可以解决脏读的问题。
  3. 可重复读
    • 事务开启期间多次读取同一事物得到的值相同。
    • 可以解决脏读、不可重复读的问题。
  4. 串行化
    • 将并发事务的执行改为串行执行
    • 可以解决脏读、不可重复读、幻读的问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值