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

用jsp做的网站前后端交互wordpress固定链接目录

用jsp做的网站前后端交互,wordpress固定链接目录,网站信息化建设具体内容,莆田网站关键词优化一. 并发事务带来的问题 并发会造成事务间出现脏读,不可重复读,幻读现象。 1. 脏读 一个事务在处理过程中读取了另外一个事务未提交的数据。若另外一个事务回滚,则读取到的数据是无效的,又称为脏读。 2. 不可重复读 在一个事务…
一. 并发事务带来的问题

并发会造成事务间出现脏读,不可重复读,幻读现象。

1. 脏读
一个事务在处理过程中读取了另外一个事务未提交的数据。若另外一个事务回滚,则读取到的数据是无效的,又称为脏读。

2. 不可重复读
在一个事务内多次读取同一数据,在这个事务还没结束时,另外一个事务也访问了这个数据并对这个数据进行了修改,那么就可能造成第一个事务两次读取的数据不一致,这种情况就被称为不可重复读。

3. 幻读
同一个事务内多次查询返回的结果集总数不一样(比如增加了或者减少了行记录)。

二. 事务隔离等级
隔离等级描述
READ UNCOMMITTED允许事务读取未被其他事务提交的变更,脏读,不可重复度和幻读的问题都会出现
READ COMMITTED只允许事务读取已经被其它事务提交的变更,可以避免脏读,但不可重复读和幻读问题仍然可能出现
REPEATABLE READ确保事务可以多次从一个字段中读取相同的值。在这个事务持续期间,禁止其他事务对这个字段进行更新。可以避免脏读和不可重复读,但幻读的间题仍然存在
SERIALIZABLE确保事务可以从一个表中读取相同的行。在这个事务持续期间,禁止其他事务对该表执行插入,更新和删除操作。所有并发问题都可以避免,但性能比较低

安全性: Serializable > Repeatable read > Read committed > Read uncommitted
效率: Serializable < Repeatable read < Read committed < Read uncommitted
MySQL默认事务隔离等级为Repeatable read

MySQL查看事务隔离等级

# 查看事务隔离等级
select @@transaction_isolation

MySQL修改事务隔离等级

SESSION表示修改当前会话
GLOBAL表示修改全局配置

# 修改当前会话隔离等级为READ UNCOMMITTED
set SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
# 修改当前会话隔离等级为READ COMMITTED
set SESSION TRANSACTION  ISOLATION  LEVEL READ COMMITTED 
# 修改当前会话隔离等级为REPEATABLE READ
set SESSION TRANSACTION  ISOLATION LEVEL REPEATABLE READ 
# 修改当前会话隔离等级为SERIALIZABLE
set SESSION TRANSACTION  ISOLATION  LEVEL  SERIALIZABLE 
三. 脏读演示
  • 新建account表,并插入2条数据
    create table account(id    int primary key AUTO_INCREMENT comment 'ID',name  varchar(10) comment '姓名',money double(10, 2) comment '余额'
    ) comment '账户表';
    insert into account(name, money) values ('张三', 2000), ('李四', 2000);insert into account(id, name, money) values (3, '王五', 2000);
    
    在这里插入图片描述
    从上图中可以看出事务1读取到了事务2未提交的数据,这就是脏读。
四. 不可重复读演示
  • 如果要解决脏读,需要将事务的隔离等级修改为READ COMMITTED
    在这里插入图片描述

  • 从上图中可以看出,当把事务隔离等级修改为READ COMMITTED后,事务1(步骤2)没有读取到事务2未提交的数据。

  • 但是当事务2提交后,事务1会读取到事务2已经提交的数据,这就出现了不可重复读的问题,即在事务1中读取同一张表,两次的结果不一样。

  • 要解决不可重复读,需要将事务的隔离等级调整为REPEATABLE READ
    在这里插入图片描述
    从上图中可以看出,事务1两次读取的数据是一致的,没有出现不可重复读的问题。

五. 幻读演示
  • REPEATABLE READ虽然解决了不可重复读,但同时可能会出现幻读的问题。
    在这里插入图片描述

  • 从上图中可以看出,事务1不能查询到事务2已经插入的数据,导致出现了“幻觉”,当事务1执行同样的插入语句时就会报主键重复错误,这就是幻读。

幻读的解决

  • 当把事务的隔离等级调整为SERIALIZABLE时,就可以解决幻读的问题。
    在这里插入图片描述
    从上图中可以看出,当事务2执行插入语句时会被阻塞,只有当事务1提交了后,事务2的插入语句才能执行。
http://www.yayakq.cn/news/421619/

相关文章:

  • 做一家网站需要多少钱凡科网是什么
  • 新手做亚马逊要逛哪些网站专业的网站建设费用
  • 免费网站可以下载杭州做营销型网站
  • 网站后台登陆界面模板广西住房和城乡建设部官网
  • 汉阳放心的建站企丿贵州省高层建筑信息平台
  • 手机网站开发要多久微信客户端入口
  • 建设部网站官网 造价鉴定江津做网站
  • 微信公众号商城制作网站做seo需要哪些准备
  • 北京天津网站建设高德地图海外能用吗
  • 电子商务网站建设的步骤一般为(凡客网站规划与建设ppt
  • 一站式服务大厅成都私人做网站建设
  • 网站的排名就是友情链接江苏省建设厅网站挂证存疑名单
  • php开发网站后台windows优化大师有必要安装吗
  • 免费建设一个可以访问的网站wordpress上传到哪
  • 温州好的网站推广顺企网企业黄页
  • 做网站都要学什么做化妆品注册和注册的网站
  • 沈阳电商网站建设湖北免费网站建设
  • 惠州小程序推广昆明公司网站优化
  • 化妆品网站后台上海企业专属网站建设平台
  • 网站开发如何搭建框架网站模板psd素材
  • 网站的备案要求企业网站的开发背景
  • 天津建设集团网站大网站cn域名
  • 校园网站开发高端品牌鞋子
  • 赣州建设公司网站网站怎么看是什么程序做的
  • 深圳网站的设计公司做网站怎么搭建环境
  • 海南建设官方信息网站电商网站开发平台哪家好
  • 贵州网站推广电话营销型网站怎么做
  • 带后台的网站开发运营成本免费建设外贸网站
  • 网站建设策划公司地址公司简介简短点的
  • 福建省住房城乡和城乡建设厅网站seo包年推广