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

6.10 Mysql 事务 锁 面试题

mysql可能出现什么和并发相关问题?

  • 脏读:读到未提交事务的修改
  • 不可重复读:一个事务内两次读取不一致
  • 幻读:一个事务内两次读取记录数不一致

哪些场景不适合脏读,举个例子?

  • 银行系统
  • 库存管理系统
  • 在线订单系统

mysql的是怎么解决并发问题的?

  • 锁机制:行级锁、表级锁、页级锁等
  • 事务隔离:读未提交、读已提交、可重复读和串行化
  • MVCC:通过在数据库中保存不同版本的数据来实现不同事务之间的隔离

可重复读隔离级别下,A事务提交的数据,在B事务能看见吗?

在这里插入图片描述

Mysql 设置了可重读隔离级后,怎么保证不发生幻读?

尽量在开启事务之后,马上执行 select … for update 这类锁定读的语句,因为它会对记录加 next-key lock,从而避免其他事务插入一条新记录,就避免了幻读的问题。

串行化隔离级别是通过什么实现的?

是通过行级锁来实现的,序列化隔离级别下,普通的 select 查询是会对记录加 S 型的 next-key 锁,其他事务就没没办法对这些已经加锁的记录进行增删改操作了,从而避免了脏读、不可重复读和幻读现象。

MVCC实现原理

对于「读提交」和「可重复读」隔离级别的事务来说,它们是通过 Read View 来实现的,它们的区别在于创建 Read View 的时机不同。
在这里插入图片描述
在这里插入图片描述

一条update是不是原子性的?为什么?

是原子性,主要通过锁+undolog 日志保证原子性的
执行 update 的时候,会加行级别锁,保证了一个事务更新一条记录的时候,不会被其他事务干扰。
执行 update 的时候,会加行级别锁,保证了一个事务更新一条记录的时候,不会被其他事务干扰。

滥用事务,或者一个事务里有特别多sql的弊端?

  • sql太多,锁定的数据多容易造成大量的死锁和锁超时
  • 回滚会占用大量存储空间,事务回滚时间长
  • 执行时间长,容易造成主从延迟。主库执行完事务才会写入binlog

讲一下mysql里有哪些锁?

在这里插入图片描述

  • 全局锁:全库逻辑备份
  • 表级锁:元数据锁:对一张表进行 CRUD 操作时,加的是 MDL 读锁;对一张表做结构变更操作的时候,加的是 MDL 写锁;MDL 是为了保证当用户对表执行 CRUD 操作时,防止其他线程对这个表结构做了变更。
  • 意向锁:为了快速判断表里是否有记录被加锁。

数据库的表锁和行锁有什么作用?

  • 表锁:整体控制、适用于大批量操作
  • 行锁:细粒度控制提高并发性能、减少锁冲突、适用于频繁单行操作

MySQL两个线程的update语句同时处理一条数据,会不会有阻塞?

在这里插入图片描述

两条update语句处理一张表的不同的主键范围的记录,一个<10,一个>15,会不会遇到阻塞?底层是为什么的?

在这里插入图片描述

如果2个范围不是主键或索引?还会阻塞吗?

会锁住全表

相关文章:

  • C++_核心编程_多态案例二-制作饮品
  • 赛尔发布SHARE 5系列航测相机,外业更高效,建模更优质
  • 制作一款打飞机游戏69:编辑器升级
  • AliExpress(速卖通)铺货工具,图片下载,SKU浏览,详情搬运,使用方法
  • 3分钟配置好nacos集群(docker compose)
  • Docker 创建及部署完整流程
  • (五)docker环境中配置hosts
  • 【论文阅读笔记】HaDes幻觉检测benchmark
  • 搭建gitlab ci/cd runner实现对c++项目的自动编译和打包
  • 丝杆升降机的物联网与大数据应用的具体例子
  • V837s-SDK Telnetd服务连接不上异常解决
  • A16 扁平化管理
  • YSYX学习记录(八)
  • PHP 多种内置的验证规则和函数
  • 网络验证Api用户系统(本系统基于php+mysql开发) 软件验证卡密系统 源码测试搭建成功
  • MFC 第一章概述
  • RabbitMQ的使用--Spring AMQP(更新中)
  • ubuntu24安装TensorRT
  • Vue.js 中的 v-bind 指令详解
  • 熵最小化Entropy Minimization (二): 案例实施
  • 查看一个网站的备案/seo推广知识
  • 建设一个网站需要什么软件/近一周热点新闻
  • 贝壳企业网站管理系统/公司广告推广
  • 网站公告栏怎么做/百度推广助手app
  • 成都建设网站首页/seo门户 site
  • 红安县城乡建设局网站/浙江网络推广公司