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

网站开发调研问卷项目管理证书 pmp

网站开发调研问卷,项目管理证书 pmp,自动化的网站建设,营销策划运营培训机构1、事务具有ACID特性原子性(atomicity)#xff1a;一个事务被事务不可分割的最小工作单元#xff0c;要么全部提交#xff0c;要么全部失败回滚。一致性(consistency)#xff1a;数据库总是从一致性状态到另一个一致性状态#xff0c;它只包含成功事务提交的结果隔离型(is…1、事务具有ACID特性原子性(atomicity)一个事务被事务不可分割的最小工作单元要么全部提交要么全部失败回滚。一致性(consistency)数据库总是从一致性状态到另一个一致性状态它只包含成功事务提交的结果隔离型(isolation)事务所做的修改在最终提交一起对其他事务是不可见的持久性(durability)一旦事务提交则其所做的修改就会永久保存到数据库中。2、事务的隔离级别1)隔离级别的定义与问题READ UNCOMMITTED(读未提交)事务的修改即使没有提交对其他事务也都是可见的。事务能够读取未提交的数据这种情况称为脏读。READ COMMITTED(读已提交)事务读取已提交的数据大多数数据库的默认隔离级别。当一个事务在执行过程中数据被另外一个事务修改造成本次事务前后读取的信息不一样这种情况称为不可重复读。PEPEATABLE READ(可重复读)这个级别是MySQL的默认隔离级别它解决了脏读的问题同时也保证了同一个事务多次读取同样的记录是一致的但这个级别还是会出现幻读的情况。幻读是指当一个事务A读取某一个范围的数据时另一个事务B在这个范围插入行A事务再次读取这个范围的数据时会产生幻行。特别说明InnoDB和XtraDB存储引擎通过多版本并发控制(MVCCMultiversion Concurrency Control)解决了幻读问题它使用间隙锁(next-key locking)锁定查询涉及的行和索引中的间隙防止幻影行的插入。SERIALIZABLE(可串行化)这个事务是最高的隔离级别它强制事务串行执行避免了幻读问题。简单来说SERIALIZABLE会在读取的每一行数据上都加锁所以可能会导致大量的超时和锁竞争隔离级别脏读可能性不可重复度可能性幻读可能性加锁读READ UNCONMITEDYesYesYesNoRED COMMITEDNoYesYesNoREPEATABLE READNoNoYesNoSERIALIZABLENoNoNoYes2)如果查看修改和MySQL的隔离级别show variables like tx_isolation; # 查看隔离级别MySQL8以前show variableslike transaction_isolation; # 查看隔离级别MySQL8set global transaction_isolationREAD-COMMITTED; // 设置隔离级别阀域READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、SERIALIZABLE事务的隔离级别可以是Session层的我们可以对不同的Session设置不同级别set session transaction isolation level read uncommitted;set session transaction isolation level read committed;set session transaction isolation level repeatable read;set session transaction isolation level serializable;3)Spring事务隔离级别Spring事务默认使用数据库的隔离级别可以通过注解Transactional中的isolation参数调整Session级的隔离级别。隔离级别是会话级别的JDBC的java.sql.Connection接口支持隔离级别的设置。Spring在开启事务时(DataSourceTransactionManager.doBegin)根据注解配置对Connection的隔离级别进行设置MySQL驱动com.mysql.cj.jdbc.ConnectionImpl执行SQL语句调整会话级的隔离级别3、死锁死锁是指两个或多个事务在同一资源上相互占用并请求锁定对方占用的资源从而导致恶性循环。死锁示例# 事务一starttransaction;update account set money10 where id1;update account set money20 where id2;commit;# 事务二starttransaction;update account set money10 where id2;update account set money20 where id1;commit;假设碰巧事务一和事务二同时执行完第一个update语句接着准备执行第二条update语句却发现记录已被对方锁定然后2个事务都等待对方释放资源同时持有对方需要的锁这样就会出现死循环。为了避免死锁问题数据库实现了各种死锁检测和死锁超长机制InnoDB处理死锁的方式是将持有最少行级排他锁的事务进行回滚。
http://www.zqtcl.cn/news/332329/

相关文章:

  • 汕头有没有做网站廊坊宣传片制作公司
  • 百度快速收录网站有些人做网站不用钱的 对吗
  • 如何规划一个网站网站建设预付费入什么科目
  • 北京做网站的好公司有哪些网站建设杭州缘择低价
  • 建设网站团队张掖响应式建站平台
  • 中国建设之乡是哪里网站优化连云港哪家强?
  • 网站建设报价是多少30号长沙封城最新消息
  • 常州专业网站建设费用电商推广技巧
  • 辽源市网站建设南通营销网站开发
  • 新站优化案例去韩国用什么地图导航
  • 宁波网站制作与推广WordPress怎么文章分类
  • mvc 做网站国内的搜索引擎有哪些
  • 设计视频网站腾讯云服务器网站域名备案
  • 网站建设费算费用还是固定资产镇赉县做网站的
  • 山西 旅游 英文 网站建设wordpress 设置登陆界面
  • 电商网站系统建设考试深圳网站建设培训哪家好
  • 工作室 网站项目策划书八篇案例
  • ui做网站流程建设统计网站进不去
  • 沧州网站建设优化公司网站改版
  • 网站开发工程师好不好注册科技公司流程和费用
  • wordpress站点费用vs手表官网
  • 网站买卖需要注意什么景安怎么把网站做别名
  • 网站建设网站建怎么做一个门户网站
  • 站长工具域名备案查询安卓app开发教程视频免费
  • 赶集网网站建设分析河南郑州旅游网站设计
  • 怎么可以黑网站域名建设网站的网站是什么
  • 帝国网站数据库配置文件建筑人才网招聘网官网首页
  • c 做的网站怎么上传图片阿里巴巴网站建设的目的
  • 保定模板建站平台微网站怎么做的好
  • 肇庆网站建设方案维护做学校网站素材图片素材