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

linux系统做网站海外广告联盟平台推广

linux系统做网站,海外广告联盟平台推广,地图网站设计,徐州市建设局官方网站一.什么是事物 事物是一组操作的集合,不可分割的工作单位,事物会把所有的操作当作一个整体一起向系统提交或撤销操作请求,就是这些操作要么一起成功要么一起失败。 二.事物操作 (这个就是一个理解) 1.事务特性 原子性…

一.什么是事物

 事物是一组操作的集合,不可分割的工作单位,事物会把所有的操作当作一个整体一起向系统提交或撤销操作请求,就是这些操作要么一起成功要么一起失败。

二.事物操作 (这个就是一个理解)

 1.事务特性
 原子性Atomicity:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

一致性Consistency:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。例如:转账前和转账后的总金额不变。

隔离性Isolation:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务执行时,不能被其他事务的执行所干扰,多个并发执行的事务之间要相互隔离。(通过事务的隔离级别保证隔离性)

持久性Durability:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

2.事物的隔离级别会产生的问题

脏读:读取其他事物未提交的数据 

不可重复度:读取其他事物已经提交修改

幻读:读取其他事务插入的操作

下面有具体设置隔离级别的案例

扩展:这个说的是原子性和隔离性没有关系

通过以下命令查看MySQL事物的提交方式

select @@autocommit

1是自动提交  0是手动提交

mysql中的事物默认自动提交。

可以将mysql中的事物设置为手动提交。

  2.1查看/设置事物的提交方式

       创建表并插入数据

       CREATE TABLE `test_01` (
       `id` int DEFAULT NULL COMMENT '主见id',
       `name` varchar(10) DEFAULT NULL COMMENT '姓名',
       `money` int DEFAULT NULL COMMENT '金额'
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci             COMMENT='测试表';

         INSERT INTO test_01 (id,name,money) 
         VALUES (1,'张三',2000), (2,'李四',2000);

  2.2提交事务

  2.3回滚事物

三.脏读,幻读,不可重复读

  脏读过程的理解(切换事物的隔离级别,不同的隔离级别会导致数据的脏读,幻读,不可重复读)

 第一个窗口中查询的数据

 第二个窗口中查询的数据

第一个窗口中开启事物

第二个窗口中开启事物

第一个窗口中开启事物后的查询

第二个窗口中开启事物后的修改并查询

第一个窗口在开启事物后,查询第二个窗口在开启事物并修改数据后的查询

第二个窗口提交事物并查询

第一个窗口在第二个窗口提交事物后,第一个窗口没有提交事物的查询

第一个窗口在提交事物后的查询

总结:在没有关闭inndb自动提交事物和关闭inndb自动提交事物的情况下,都没有发生脏读的情况,都是在各自的窗口中执行各自的操作,另一个窗口的操作并不会对其他窗口有影响。就算是操作(修改,删除,插入)后提交了事物,也不会对其他事物还在进行中的数据有影响。大招(因为我们默认用的隔离级别是 可重复读 (Repeatable read 可重复读) 不会发生 脏读,幻读,不可重复读)

这条查询会返回全局和会话级别的事务隔离级别。全局级别代表服务器级别的默认隔离级别,而会话级别代表当前连接会话的隔离级别。

执行这条查询将返回类似以下的输出:

 SELECT @@GLOBAL.transaction_isolation, @@SESSION.transaction_isolation;

mysql8设置隔离级别

在MySQL 8中,您可以使用SET TRANSACTION语句来设置事务的隔离级别。以下是几个常见的隔离级别设置示例:

1.设置为读未提交(Read Uncommitted):

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

2.设置为读已提交(Read Committed):

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

3.设置为可重复读(Repeatable Read):

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

4.设置为串行化(Serializable):

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

请注意,设置隔离级别必须在启动事务(使用START TRANSACTION)之前进行。一旦事务开始,隔离级别就无法更改。

此外,也可以在MySQL配置文件(通常是my.cnfmy.ini)中设置默认的全局隔离级别,或者为单个会话设置隔离级别。这样做可以影响所有新的连接和事务,不必在每次开始事务时都进行设置。

四.隔离级别的具体实现

参考视频:MySQL事务和锁机制详解_哔哩哔哩_bilibili

事物具体的实现方式

原子性,一致性,持久性 通过redo log 和 undo log 实现

隔离性 通过锁和mvcc(多版本控制)实现

就到这,重新写一篇具体的实现

http://www.wangmingla.cn/news/72712.html

相关文章:

  • 搜狐网站建设南宁一站网网络技术有限公司
  • 电脑路由器做网站服务器吗品牌营销的四大策略
  • asp.netc 动态网站开发seo的内容怎么优化
  • 做的网站图片显示一半温州seo招聘
  • cdr 做网站谷歌广告代理公司
  • 1个空间做两个网站新手怎么做seo优化
  • 房屋租赁网站开发背景免费推广神器
  • 泉州网站模板建站网站推广的概念
  • 局域网网站建设工具seo整站优化服务教程
  • 无锡做网站中企动力长沙专业网站制作
  • 做网站加一个定位功能要多少钱国内手机怎么上google浏览器
  • 做网站需要学那几个软件市场营销模式有哪些
  • 高端品牌网站建设发免费广告电话号码
  • 公司网站建设服务查找关键词的工具叫什么
  • 鸿运通网站建设怎么样如何制作网站
  • 上海猎头公司排行榜旺道seo营销软件
  • vscode的网站开发配置河北百度seo点击软件
  • 在线看免费电影网站网站注册账号
  • 网站设计的基本过程莱阳seo排名
  • 深圳vi设计公司排名抖音seo系统
  • 建站之星网站成品分离精准推广
  • dede文章调用到其他网站郑州网站建设
  • 国务院办公厅关于加强政府网站信息内容建设的意见 首次专业seo网络营销公司
  • 南京大型门户网站建设网络推广优化网站
  • 智能网站建设官网优化哪家专业
  • 那种自行提取卡密的网站怎么做优化公司哪家好
  • 网站上传程序dbseo专家招聘
  • 网站建设风险的特征优化师培训
  • 美业管理软件系统排名百度推广关键词优化
  • 自己做的网站怎么发布到网上专业网站优化公司