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

做游戏网站年入百万百度地图导航2022最新版下载

做游戏网站年入百万,百度地图导航2022最新版下载,做网站公司选择哪家好,优普道建筑网校目录 MySQL事务前言面试题什么是数据库事务为什么要有事务呢?项目中遇到的事务事务的传播机制事务的特性?事务并发存在的问题四大隔离级别四大隔离级别,都会存在哪些并发问题呢数据库是如何保证事务的隔离性的呢?如何解决加锁后的…

目录

  • MySQL事务
    • 前言
    • 面试题
      • 什么是数据库事务
      • 为什么要有事务呢?
      • 项目中遇到的事务
      • 事务的传播机制
      • 事务的特性?
      • 事务并发存在的问题
      • 四大隔离级别
      • 四大隔离级别,都会存在哪些并发问题呢
      • 数据库是如何保证事务的隔离性的呢?
      • 如何解决加锁后的性能问题的?
      • 并发事务有什么什么问题?应该如何解决?
      • MySQL 事务实现原理是什么?
      • 事务的两阶段提交协议


MySQL事务

前言

已经找到工作了,分享秋招时的笔记。祝大家都能顺利找到自己心仪的工作。


面试题

什么是数据库事务

事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行

为什么要有事务呢?

  • 保证数据的最终一致性

项目中遇到的事务

  • 下单减库存

事务的传播机制

事务的特性?

ACID

  • 原子性: 事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行
  • 一致性: 指在事务开始之前和事务结束以后,数据不会被破坏
  • 隔离性: 多个事务并发访问时,事务之间是相互隔离
  • 持久性: 表示事务完成提交后,该事务对数据库所作的操作更改,将持久地保存在数据库之中

事务并发存在的问题

事务并发会引起脏读、不可重复读、幻读问题。

  • 脏读:一个事务读取到了另一个未提交事务修改过的数据
  • 不可重复读:同一个事务内,前后多次读取,读取到的数据内容不一致
  • 幻读:如果一个事务先根据某些搜索条件查询出一些记录,在该事务未提交时,另一个事务写入了记录,导致两次读取到的数据内容不一致

四大隔离级别

  • 读未提交: 只限制了两个数据不能同时修改,但是修改数据的时候,即使事务未提交,可以被别的事务读取到
  • 读已提交: 当前事务只能读取到其他事务提交的数据
  • 可重复读: 限制了读取数据的时候,不可以进行修改
  • 串行化: 事务最高的隔离级别,所有事务都是进行串行化顺序执行的

四大隔离级别,都会存在哪些并发问题呢

  • 读未提交:脏读、不可重复读、幻读
  • 读已提交:不可重复读、幻读
  • 可重复读:幻读
  • 串行化:无

数据库是如何保证事务的隔离性的呢?

  • 数据库是通过加锁,来实现事务的隔离性的
  • 比如串行化隔离级别就是加锁实现的,但是频繁的加锁,导致读数据时,没办法修改,修改数据时,没办法读取,大大降低了数据库性能

如何解决加锁后的性能问题的?

使用MVCC 多版本并发控制

并发事务有什么什么问题?应该如何解决?

并发事务可能造成:脏读、不可重复读和幻读等问题 ,这些问题其实都是数据库读一致性问题,必须由数据库提供一定的事务隔离机制来解决

  • 加锁:在读取数据前,对其加锁,阻止其他事务对数据进行修改
  • 提供数据多版本并发控制(MVCC),也称为多版本数据库:不用加任何锁, 通过一定机制生成一个数据请求时间点的一致性数据快照(Snapshot), 并用这个快照来提供一定级别的一致性读取,从用户的角度来看,好像是数据库可以提供同一数据的多个版本

MySQL 事务实现原理是什么?

以 InnoDB 的事务实现为例

  • InnoDB 是通过MVCC解决不可重复读问题
  • 间隙锁解决幻读问题
  • 事务的隔离性是通过实现
  • 而事务的原子性、一致性和持久性则是通过事务日志实现

事务的两阶段提交协议

  • 开启 binlog 的情况下,为了保证 binlog 与 redo log 的一致性,MySQL 将采用事务的两阶段提交协议
  • 当 MySQL 系统发生崩溃时,事务在存储引擎内部的状态可能为准备状态和提交状态两种
  • 对于准备状态的事务,是进行提交操作还是进行回滚操作,需要参考 binlog
    • 如果事务在 binlog 中存在,那么将其提交
    • 如果不在 binlog 中存在,回滚

秋招后端开发面试题系列目录
一、Java
1.1 Java基础上
1.2 Java基础下
1.3 Java集合
1.4 JavaIO
1.5 Java多线程上
1.6Java多线程下
二、JVM
2.1 JVM底层原理
2.2 垃圾回收器
2.3 垃圾回收算法
2.4 类加载机制
2.5 运行时数据区
三、MySQL
3.1 MySQL基础
3.2 事务
3.3 索引
3.4 锁机制
3.5 MVCC
四、Redis
4.1 Redis基础
4.2 缓存原理
五、中间件
5.1 RabbitMQ
六、Spring开源框架
6.1 Spring
6.2 Spring MVC
6.3 Spring Boot
6.4 MyBatis
七、操作系统
八、计算机网络
九、设计模式
十、微服务架构
十一、Spring Cloud分布式
11.1 分布式基础
11.2 Spring Cloud
11.3 GateWay
11.4 Nacos
11.5 OpenFeign
11.6 Ribbon
十二、算法
十三、项目

http://www.khdw.cn/news/54482.html

相关文章:

  • 为什么用MyEclipse做网站宁波seo公司
  • 做橱窗设计的网站新闻发稿推广
  • 商城系统网站模板网络营销的优势
  • 广州市建设工程造价站网站南安网站建设
  • 做网站没有创意网络营销品牌案例
  • 文化传播做网站推广吗自媒体引流推广
  • 百度网站收入电商运营模式
  • 网站建设趋势2017产品推广方案怎么写
  • java初学者用什么软件seo外链软件
  • 织梦搭建企业网站免费的大数据分析平台
  • 建设网站的报告做网络推广
  • 安卓软件定制开发南京seo代理
  • 洛阳做网站找哪家近期舆情热点事件
  • 网站开发用苹果电脑青岛网
  • 做汽车配件招聘网站seo服务工程
  • 河北seo优化sem推广和seo的区别
  • 博物馆设计百色seo关键词优化公司
  • wordpress cropping 图片 出错cpu优化软件
  • 汕头网站制作多少钱友链提交入口
  • 网上建网站有没有免费的seo网站
  • 微信24小时网站建设北京百度公司地址在哪里
  • 怎么用dw第一次做网站广州百度seo
  • 汕头 网站建设seo相关ppt
  • 免费版多用户商城源码青岛seo排名扣费
  • 高明做网站广州抖音seo公司
  • 深圳建筑工程公司排名百度seo培训要多少钱
  • 徐州提供网站建设报价表pc网站建设和推广
  • 银川做网站最好的公司如何开一个自己的网站
  • 杭州做网站需要多少钱张雪峰谈广告学专业
  • 海航科技网站建设关键词优化怎么弄