谷粒学院学习知识点汇总-------01

2023-05-16

前言--------
谷粒学院视频的系列首先先是学习一波理论知识,最后跟着视频敲一遍整个项目,到部署项目上线,给自己定个flag,一个月之内完成项目部署上线。

一.事务
1.1事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败
1.2典型场景:银行转账
lucy转账100给mary,lucy少100,mary多了100

二.事务的四个特性
①原子性:要么都成功,要么都失败
②一致性:操作的总量是一致的,lucy100->转给mary,lucy0元而mary200元,总量都是200元
隔离性:多个事务之间操作并不影响
④持久性:事务提交过后表中的数据真正地发生变化

三.那么由于事务具有隔离性,各个事务之间互不影响,但如果不考虑事务的隔离性(即出现并发的问题诸如此类)如何解决?
① 还有一种更新丢失问题:当两个事务或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,最后更新的更新覆盖了由其他事务所做的更新
② 产生三种读的问题
脏读,不可重复读,幻(虚)读
就目前而言:不可重复读是允许的是可以存在的,但是脏读是不允许的,因为脏读事务尚未提交就已经读取到未提交的数据字段

四.不可重复读:是一种现象,是一种现象,就好比淘宝商城一个货品,本来只剩一个,当事务t2进行更改和提交之后变成了2个,此时t1事务可以读取到2个.
解决不可重复读问题之后,t2事务提交过后,t1事务没关闭但是读取到的数据就还是1,除非再重新开一个事务,读取到的就是2

在这里插入图片描述

为了解决此类并发问题,数据库提供四种事务的隔离级别(所有数据库都需要解决脏读问题)
在这里插入图片描述

实际案例应用:当前两个事务,一个lucy,一个mary对数据库中money字段进行操作

在这里插入图片描述
解决方案:
悲观锁和乐观锁
悲观锁:串行,只能一个人操作
乐观锁:添加版本号version,lucy一个事务进行提交过后版本号version+1,先比较版本号是否一致,mary版本号为1,不可修改
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷粒学院学习知识点汇总-------01 的相关文章

  • VSCODE无法使用cnpm

    这里写自定义目录标题 简单暴力 简单暴力 1 xff0c 右击VSCode图标 xff0c 选择以管理员身份运行 xff1b 2 xff0c 在终端中执行get ExecutionPolicy xff0c 显示Restricted xff0
  • Win10环境下不同版本WinGW切换

    因需要 xff0c 安装了不同版本的WinGW gcc xff0c 实际使用中遇到一些问题 xff0c 解决过程记录如下 xff1a 在使用BusMaster时需要4 8 1版本 xff0c 原本系统默认9 2 0 xff0c busmas
  • 【无标题】

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • expo优势

    优点一 xff1a 一条命令生成apk或者ipa文件 xff0c 方便发布到应用商店 优点二 xff1a 代码publish xff0c 应用内热更新 优点三 xff1a 比react native多出不少实用原生组件 xff0c 比如一些
  • C++一些常见问题

    关于赋值的疑问 1 编译器为每个类默认重载了赋值操作符 xff1b 2 默认的赋值操作符仅完成了浅拷贝 xff1b 3 当需要进行深拷贝时必须重载赋值操作符 xff1b 4 赋值操作符与拷贝构造函数有相同的存在意义 实例分析 xff1a s
  • 树莓派学习(二):更换镜像源以及安装虚拟环境miniforge3

    树莓派学习 xff08 二 xff09 xff1a 更换镜像源以及安装pytorch 步骤一 xff1a 更换镜像源步骤二 xff1a 下载前的准备2 1 原来numpy库的卸载 步骤三 xff1a 安装miniforge3 步骤一 xff
  • 3.1 python版MapReduce基础实战

    输入文件在你每次点击评测的时候 xff0c 平台会为你创建 xff0c 无需你自己创建 xff0c 只需要启动HDFS xff0c 编写python代码即可 第1关 xff1a 成绩统计 mapper py usr bin python3
  • 怎么获取li里面的内容

    获取li的内容 span class token tag span class token tag span class token punctuation lt span ul span span class token punctuat
  • 偏移量的概念

    span class token selector span span class token punctuation span span class token property padding span span class token
  • js中的二级联动

    省份市级城市联动 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token pun
  • 页面跳转的几种方法

    location对象 href assgin跳转到另一个页面可以返回到原来的页面 location span class token punctuation span href span class token operator 61 sp
  • 学习JS基础部分一

    数据类型 分支结构 循环结构 数据类型 简单数据类默认值Number0BooleanfalseString Undefinedundefinednullnull 复杂数据类型默认值Array Object 分支结构 分支语句说明if 条件
  • 来,带你见识一下CT三维重建

    文 xff1a 北京协和医院放射科孙昊 来源 xff1a 从医开始 xff0c 协和八的奇妙临床笔记 相信各位同学在临床工作中 xff0c 已经接触到很多CT三维重建的图像了 xff0c 那么CT三维重建到底是个啥东东 xff1f 这个问题
  • 数组常用方法

    concat span class token keyword let span arr1 span class token operator 61 span span class token punctuation span span c
  • 深拷贝和浅拷贝

    浅拷贝和深拷贝的区别 浅拷贝是复制原数据的数据内容 xff0c 引用原数据的地址 xff1b 当改变复制之后的数据时 xff0c 原数据的数据内容也会被改变 xff0c 因为这是引用原来数据的地址 xff0c 改变的是原数据地址的数据内容
  • Set集合和Map集合

    Set集合 用于存放不重复的数据 xff0c 通过构造函数的形式 参数必须是一个可迭代对象 创建Set对象 span class token keyword const span s1 span class token operator 6
  • js树型结构处理

    span class token comment 获取树形结构并处理 span span class token comment 当child为null时处理 span span class token comment 如果是childre
  • 姿态旋转与坐标变换

    姿态旋转与坐标变换 旋转还是变换 xff1f 坐标旋转 变换矩阵 xff08 Rotation Matrix xff09 等效旋转矢量 xff08 Axis Angle xff09 罗德里格斯公式 xff08 Rodrigues 39 s
  • Gitlab

    Gitlab Gitlab介绍 我们了解了git是以个人为中心 xff0c 但是人人都得数据交互呀 python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库 xff0c 托管代码的地方 xff0c 谁

随机推荐