IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL学习笔记—事物,这一章有点懵 -> 正文阅读

[大数据]MySQL学习笔记—事物,这一章有点懵

mysql事物

本课目录
1.事物概述
2.事物的隔离级别及使用
3.锁的相关知识

MySQL事物主要用于处理操作量大,复杂度高的数据
事务处理可以来维护数据库的完整性,保证成批量SQL语句要么全部执行,要么全部不执行。
事务用来管理insert、update、delete语句
事务是必须满足4个条件(ACID)

Atomicity 原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。

Consistency 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。

Isolation隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括未提交读、提交读、可重复读、可串行化。

Durability持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

BEGIN 显式地开启一个事务
COMMIT 提交事务
ROLLBACK 回滚事务
SAVEPOINT identifier 创建保存点
RELEASE SAVEPOINT identifier 删除保存点
ROLLBACK TO identifier 把事务回滚到标记点
SET TRANSACTION 设置隔离级别

脏读:一个事务正在访问数据,并且对数据进行了修改,而这种修改还没提交到数据库中,这时另外一个事务也访问这个数据库然后使用了这个数据。

不可重复读:
是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务访问并修改了这条数据
在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的
这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读

幻读;
第一个事务对一个表中的数据进行了修改,这种修改设计到表中的全部数据行。
同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据
那么,就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好像发生了幻觉一样,幻读是数据行记录变多了或者少了

提交读:事务成功提交后才可以被查询到

重复读,同一个事务内多次查询却返回了不同的数据值

可串行化
在读操作是添加共享锁
导致大量超时现象和锁竞争
这是花费最高代价但是最可靠的事务隔离级别
事务被处理为顺序执行
防止脏读,不可重复读,幻读

隔离级别总结
事务隔离接为读提交时,写数据只会锁住相应的行
事务隔离级别为可重复读时,通过next—key锁和表锁防止幻读
事务隔离级别为串行化时,读写数据都会锁住整张表

锁的相关知识
数据库锁定机制,就是数据库为了保证数据一致性,而使各种共享资源在被并发访问变得有序而设计得一种规则。Mysql数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎锁针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。

表级锁定(table-level)
是mysql各存储引擎中最大颗粒度的锁定机制。该锁定机制最大的特点是实现逻辑非常简单,带来的系统负面影响最小。所以获取锁各释放锁的速度很快
使用表级锁定的主要是MyISAM,MEMORY,CSV等一些非事务性存储引擎

行级锁定(row-level)
最大的特点是锁定对象的颗粒度很小,也是目前各大数据管理软件所实现的锁定颗粒度最小的。由于锁定颗粒度小,所以发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力而提高一些需要高并发应用系统的整体性能。
使用行级锁定的主要是InnoDB存储引擎。

页级锁定(page-level)
页级锁定是比较独特的一种,在其他数据库管理软件中也并不是太常见。页级锁定的特点是锁定颗粒度介于行级锁定与表级锁定之间,所以获取锁定所需要的资源开销,以及所能提供的并发处理能力也同样介于二者之间。
使用页级锁定的主要是berkeleyDB存储引擎

表级锁
开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低

行级锁
开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高

页级锁
开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间,并发度一般

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:16:11  更:2021-12-26 22:16:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:07:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码