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

开发网站比较好的公司免费商用的cms

开发网站比较好的公司,免费商用的cms,商城型网站开发网站建设,如何自己弄一个网站mysql事务 简介:事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 事务四大特性 原子性(Atomici…

mysql事务

简介:事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

事务四大特性

  • 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
  • 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。
  • 隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
  • 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。

隔离性:

依赖于数据库的隔离级别
简单来说就是事务和事务之前不会互相影响

持久性:

事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。
因为数据库中的数据是存储在磁盘当中的 会永久保存

并发事务引发的问题:

脏读:绝对的错误 读到了事务没有提交的数据

不可重复读:一个事务先后读取同一条记录,但是两次读取到的数据不同

幻读:一个事务在读取时没有这行数据 但是再插入数据时又发现这一行已经存在了 感觉像是出现了幻影(注意是幻影)

事务隔离级别:

在这里插入图片描述

  • Read Uncommitted(读未提交)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。三种并发事务问题都会出现。

  • Read Committed(读已提交)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。
它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。
解决了脏读 但是会有不可重复度 和 幻读
这种隔离级别也支持所谓的不可重复读(NonrepeatableRead),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

  • Repeatable Read(可重复读)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读(Phantom Read)
InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

  • Serializable(串行化)

这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。
可以理解成只能执行一个事务 不存在并发

查看事务隔离级别:

SELECT @@TRANSACTION_ISOLATION;

设置事务隔离级别

SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED |
READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

注意:事务隔离级别越高,数据越安全,但是性能越低。

隔离级别的实现原理

MySQL使用锁和MVCC来实现事务隔离。

锁是实现事务隔离的主要机制。MySQL中的锁可以分为全局锁和局部锁。全局锁影响整个数据库,而局部锁只影响单个表或行。常见的锁类型包括:

表级锁:最简单的锁类型,它锁定整个表,防止其他事务对表进行修改。MyISAM存储引擎使用表级锁。
行级锁:只锁定被访问的行,允许并发事务同时访问其他行。InnoDB存储引擎使用行级锁。
元数据锁(MDL):用于保护对表结构的修改,防止其他会话同时修改表结构。 多版本并发控制(MVCC)

多版本并发控制(MVCC)

MVCC提供了一种非阻塞的读操作方式,允许读操作看到一个数据的“快照”,而不是当前数据。InnoDB存储引擎使用MVCC来实现可重复读隔离级别。通过为每个事务提供一个数据快照,MVCC确保了事务在执行过程中看到的数据一致性。

http://www.yayakq.cn/news/556268/

相关文章:

  • 做网站维护学什么编程语言有哪个网站做ic
  • 东莞百域网站建设公司国外好看的教育类网站模板下载
  • 网站建设备案条件网站建设文案模板
  • 趣图在线生成网站源码wordpress标签云代码
  • 搜索网站建设比较大的建站公司
  • 高校校园网站建设的要求爱你社区
  • 网站营销不同阶段的网站分析目标个人做门户网站需要注册
  • 石家庄网站建设高端app下载汅api免费安卓
  • 5118站长平台手机网站用什么软件做的好处
  • 做搜狗手机网站优网站开发注意问题
  • 网站电脑培训班附近有吗直播网站建设需要什么软件有哪些
  • 做的网站怎样打开速度快科技进化论
  • 简述一个网站开发流程wordpress大前端整站
  • 深圳网站设计定制开发网页设计素材保存
  • 石家庄网站建设工作室企业网站排版
  • 微擎怎么做网站品牌设计包括哪些设计
  • 网站建设及服务招标公告云建站
  • 免展网站后台注册公司管理系统叫什么
  • 化妆品网站下载东莞技术支持 骏域网站建设
  • 怎么在本地搭建网站开发公司以家装大礼包引诱购房人购房
  • 网站备案接入ip网站建设的英语
  • 移动办公型网站开发新闻头条今天最新消息
  • 婚庆公司网站建设总结青岛开发区网站建设公司
  • 网站举报平台12315传媒公司营销网站
  • 广东智能网站建设费用ulysses wordpress
  • 西部数码网站管理助手4.0 教程用户网站建设
  • 山东省建设部网站官网毕业生网站建设方案书
  • 个人备案可以做门户网站吗htm5网站
  • 长沙县 网站建设做网站的程序员进什么公司好
  • 包头企业做网站南昌制作手机网站