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

学做网站论坛账号seo外包服务专家

学做网站论坛账号,seo外包服务专家,深圳市建设工程造价管理站,仲恺建设局网站目录 引言: 什么是事务? 事务和锁 mysql数据库控制台事务的几个重要操作指令(transaction.sql) 1、事物操作示意图: 2.事务的隔离级别 四种隔离级别: 总结一下隔离指令 1. 查看当前隔离级别​​ …

目录

引言:

什么是事务?

事务和锁

mysql数据库控制台事务的几个重要操作指令(transaction.sql)

1、事物操作示意图:

2.事务的隔离级别 

四种隔离级别:

总结一下隔离指令

1. 查看当前隔离级别​​

2.设置隔离级别​​

​​(1) 设置当前会话(临时生效)

​​(2) 设置全局(需管理员权限)​​

3.修改默认级别

3.ACID 特性

1.原子性 (Atomicity)​​

​​2. 一致性 (Consistency)​​

​​3. 隔离性 (Isolation)​​

​​4. 持久性 (Durability)​​


​类别​​SQL 语句示例​​作用​
​DML​INSERTUPDATEDELETE​操作数据​​(增删改查)
​DDL​CREATEALTERDROP​定义数据库结构​​(如表、索引、视图等)
​DCL​GRANTREVOKE​控制访问权限​
​TCL​COMMITROLLBACK​管理事务​

引言:

  • 什么是事务?

事务就是用于保证数据的一致性,她由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如:转账就必须保证事务的一致性。

比如我这里有两个指令:

-- 转账人
update balance set balance=balance-100 where id = 1--收款人
update balance set balance=balance+100 where id = 2

 如何保证两条语句同时执行成功?

  • 事务和锁

当执行操作(dml语句) ,mysql会在表上加锁,防止其他用户修改表的数据,这对用户来说是非常重要的

  • mysql数据库控制台事务的几个重要操作指令(transaction.sql)

1.start transaction --开启一个事务

2.savepoint 自定义保存点的名称 --设置保存点

3.rollback ro 自定义保存点名称 --回退事务

4.rollback --回退全部事务,回到事务开始的时候

5.commit --提交事务,结束事务,删除该事务的所有保存点,删除锁,不能回退,数据生效,其他会话[其他连接]可以查看生效的新数据

1、事物操作示意图:

类似于git的回滚操作

用户a在进行事务操作的时候,用户b在数据库是查看不到一部分数据的变化的,必须要等到用户a提交才行,这叫事务隔离,至于是看得见哪一部分的数据得取决于用的隔离级别

还有一种开启事务的方式:set autocommit = off

-- 关闭当前会话的自动提交(影响后续所有操作)
SET autocommit = 0;
INSERT INTO orders (product_id) VALUES (101);
-- 必须显式提交
COMMIT;
-- 恢复自动提交(否则后续操作仍需要手动提交)
SET autocommit = 1;

2.事务的隔离级别 

1.多个连接开启各自事务操作数据库中的数据时,数据库系统要负责隔离操作,以保证连接在获取数据的准确性

2.如果不考虑隔离性,会导致:脏读、不可重复读、幻读

脏读:当应一个事务读取另外一个事务尚未提交的修改时,产生脏读。就是也可能别人回滚了或者放弃提交了,但是你读到了。

不可重复读:同一个查询在同一个事务中多次进行,由于其他用户提交的事务所做的修改或者删除,每次返回不同的结果集,此时发生不可重复读

幻读:同一个查询在同一个事务中多次进行,由于其他用户提交事务所作的插入操作,每次返回不同的结果集

四种隔离级别:

1.读未提交 read uncommitted

2.读已提交 read committed

3.可重复读 repeatable read

4.可串行化 serializable

测试一下功能:

打开两个操作台a和b

 指令1:查询当前mysql的隔离级别

select @@tx_isolation;
或者
SELECT @@transaction_isolation;

会得到一个可重复读的隔离级别

指令2:修改一下这个用户a的隔离级别为读未提交

set session transaction isolation level read uncommitted;

设置成功 

我们来对比一下:

此时用户a执行一个语句,还没有commot,但是用户b也能看见,这就是脏读

其他情况也是类似,可以自行下去动手查看

那这些脏读、不可重复读、幻读我们都理解了,那锁呢?

当用户a开启事务之后插入更新了一些数据

那么用户b持有可串行化的隔离级别,是什么情况:

答案是按回车之后被卡住,这个用户b会一直等待连接到这个数据库

这时候就有两种情况:

1.超时:

2.用户a提交了,用户b才出现结果 

总结一下隔离指令

1. 查看当前隔离级别​
-- 查看当前会话的隔离级别
SELECT @@SESSION.transaction_isolation;-- 查看全局隔离级别
SELECT @@GLOBAL.transaction_isolation;
2.设置隔离级别​
​(1) 设置当前会话(临时生效)
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;      -- 串行化
​(2) 设置全局(需管理员权限)​
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;  -- 修改全局配置
FLUSH PRIVILEGES;  -- 刷新权限(可选)

3.修改默认级别

3.ACID 特性

原子性 (Atomicity) → 确保操作完整性
一致性 (Consistency) → 确保数据有效性
隔离性 (Isolation) → 确保并发可控性
持久性 (Durability) → 确保结果永久性

1.原子性 (Atomicity)​
  • ​定义​​:事务是最小的工作单元,不可再分割。
  • ​核心原则​​:事务中的操作​​要么全部成功,要么全部失败回滚​​。
  • ​示例​​:银行转账中,扣款和收款必须同时成功或同时失败。

​2. 一致性 (Consistency)​
  • ​定义​​:事务执行前后,数据库必须从一个一致性状态变换到另一个一致性状态。
  • ​核心原则​​:数据完整性约束(如主键、外键、唯一约束)不会被破坏。
  • ​示例​​:转账前后,双方账户总额应保持不变。

​3. 隔离性 (Isolation)​
  • ​定义​​:多个并发事务之间相互隔离,一个事务的操作不应影响其他事务。
  • ​核心原则​​:通过隔离级别(如 READ COMMITTED)控制事务间的可见性。
  • ​问题规避​​:避免脏读、不可重复读、幻读等问题。

​4. 持久性 (Durability)​
  • ​定义​​:事务一旦提交,对数据的修改就是永久性的。
  • ​核心原则​​:即使系统崩溃,数据也能通过日志恢复。
  • ​实现机制​​:依赖事务日志(如 InnoDB 的 redo log)。

 

http://www.dtcms.com/wzjs/254478.html

相关文章:

  • 工程机械网站模板廊坊百度关键词优化
  • 家庭办厂3一8万项目seo是什么服务器
  • 电子商务网站设计与建设网络营销的模式有哪些
  • 政府网站 五型 政府建设宣传公司网站推广方法
  • 新手做网站需要哪些软件建网站需要多少钱和什么条件
  • 网站建设公司报价表常用的网络营销策略有哪些
  • 如何做网站粘贴广告seo指的是搜索引擎营销
  • 一个好的网站建设盘古搜索
  • 网站建设公司网址单页网站制作
  • 做网站之前要先购买服务器吗seo先上排名后收费
  • 商业网站的基本构成百度一下百度搜索
  • 青岛网站建设公司外包百度智能云建站
  • 芜湖做网站都有哪些seo关键词排名怎么优化
  • 去掉wordpress百度seo优化按年收费
  • 天津专业的做网站与运营的公司seo优化网
  • 网站建设下坡路建站流程主要有哪些
  • 做房产中介搜房源的网站网络营销方式有哪些
  • 阿里云网站实名认证seo推广员是做什么的
  • 做网站需要简介app推广拉新工作可靠吗
  • 网站微信建设经验友情链接检测的特点
  • 专门做问卷的网站黑帽seo论坛
  • 杭州定制网站公司谷歌google play下载
  • 购物型网站建设广州市新闻最新消息
  • 男女在床上做暖暖插孔网站百度竞价培训
  • 建设网站网什么是seo网站优化
  • 网站建设公司需要什么资质视频广告联盟平台
  • wordpress网站名称彩虹云商城网站搭建
  • 做网站用到什么开发语言宁波seo网络推广
  • 深圳手机网站制作价钱推广营销大的公司
  • 电子商务网站购物流程图网页设计流程步骤