淮安哪个做网站好点1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.
news/
2025/9/23 15:24:44/
文章来源:
淮安哪个做网站好点,1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.,做徒步网站怎么样,基于阿里云的网站开发前言简单来说#xff0c;数据库事务就是保证一组数据操作要么全部成功#xff0c;要么全部失败。在 MySQL 中#xff0c;事务是在引擎层实现的。原生的 MyISAM 引擎不支持事务#xff0c;也是为什么 InnoDB 会取代它的重要原因之一。隔离性与隔离级别当数据库上有多个事务同…前言简单来说数据库事务就是保证一组数据操作要么全部成功要么全部失败。在 MySQL 中事务是在引擎层实现的。原生的 MyISAM 引擎不支持事务也是为什么 InnoDB 会取代它的重要原因之一。隔离性与隔离级别当数据库上有多个事务同时执行的时候根据隔离级别的不同可能会出现脏读、幻读和不可重复读。标准隔离级别包括读未提交、读提交、可重复读和串行化。读未提交如果用这种隔离级别事务执行的时候会读到其他未提交事务的数据我们称为脏读。客户端Astart transaction;update users set name hello where id 1;select * from users where id 1; #此时可以读到 name,更新为hello客户端Bstart transaction;select * from users where id 1; #此时读到 name为hello在此隔离级别下客户端 B 读到了客户端 A 还未提交的事务即还未 commit 的事务即产生的脏读现象。读提交如果用这种隔离级别事务执行的时候会读到其他已提交事务的数据我们称为不可重复读。客户端Astart transaction;update users set name hello where id 1;commit;客户端Bstart transaction;select * from users where id 1; #此时 name不为hello#此时客户端A 完成 commitselect * from users where id 1; #此时 name为hello在此隔离级别下客户端 B 读到了客户端 A 完成提交的事务产生了不可重复读现象。可重复读在同一个事务里SELECT 语句获得的结果是基于事务开始时间点的状态同一个事务中 SELECT 语句得到的结果是一样的但是会有幻读现象。客户端Astart transaction;select * from users; #为空#此时客户端B 完成commit 操作select * from users; #还是为空insert into users(id, name) value (1, hello) #报主键冲突客户端Bstart transaction;select * from users; #为空insert into users(id, name) values (1, hello);commit;在此隔离级别下会产生幻读现象。串行化在该事务级别下事务都是串行顺序执行的避免了脏读不可重复读幻读问题。客户端Astart transaction;insert into users(id, name) values (1, hello);commit;客户端Bstart transaction;select * from users; #会一直堵塞住直到客户端A 完成提交本文链接http://www.yunweipai.com/36489.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912976.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!