五年前在论坛上有过一次提问,如下: 下面两个问题的答案就是数据库的事务隔离机制。数据库针对外部的并发请求,也是要考虑资源抢占问题的,所以数据库针对同一记录的写请求,也是要加锁的! 最简单的方式就是针对每个请求都加锁,全部串行,这样肯定不会有问题。但这样性能很低,所以DB将锁分为了读锁和写锁,也就是常 ...
分类:
其他好文 时间:
2018-12-08 13:18:58
阅读次数:
178
事务的特性: 原子性: 事务不可分割一致性: 事务执行前后数据完整性保持一致隔离性: 一个事务的执行不能受到其他事务的干扰持久性: 一旦事务结束, 数据就持久化到数据库 隔离性引发的安全问题:读:脏读: 一个事物读到另一个事物未提交的数据不可重复读: 一个数据读到另一个事物已经提交(update)的 ...
分类:
数据库 时间:
2018-11-18 14:12:33
阅读次数:
208
MySQL数据库为我们提供的四种隔离级别:(依次解决脏读、不可重复读、幻读) ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。 ② Repeatable read (可重复读):可避免脏读、不可重复读的发生。(Mysql默认的方式) ③ Read committed ( ...
分类:
数据库 时间:
2018-11-17 13:11:34
阅读次数:
189
事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败. * 事务作用:保证在一个事务中多次操作要么全都成功,要么全都失败. * 一组操作:同一个连接下的操作 称为一组操作 mysql事务操作 sql语句 描述 start transaction; 开启事务 commit; 提 ...
分类:
数据库 时间:
2018-11-15 18:24:24
阅读次数:
160
脏读:当一个事务正在访问数据,并对数据进行了修改,但还没有提交的到数据库中,此时另一个事务访问并使用了这个数据。 那么,另一个事务读到的数据我们称之为脏数据。 不可重复读:在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。 那么,在第一个事务中的两次读数据之间,由于 ...
分类:
其他好文 时间:
2018-11-15 12:08:27
阅读次数:
133
1.数据库的锁作用 主要防止幻读,脏读,不可重复读,处理数据库并发。 2.锁的分类 a.根据锁的粒度来分,有行级锁以及表级锁。 <1>表级锁:MyIsam就是用的表级锁,它是偏向读的,在执行select查询操作的时候,会自动给涉及的表加上读锁,总所周知,读锁会阻塞写,所以当一个线程在读时,其他人是可 ...
分类:
数据库 时间:
2018-11-05 23:36:00
阅读次数:
349
一、事务的基本要素(ACID) A:原子性:从 begin 开始一个事务,直到 commit 或者 rollback,中间执行的DML语句都属于一个整体,要么都commit,要么都rollback。 C:一致性:当开始一个事务,没提交前。数据库宕了,这时候恢复的时候就需要把事务回滚。同理,如果提交了 ...
分类:
数据库 时间:
2018-11-03 02:13:52
阅读次数:
177
事务四大特性(ACID):原子性、一致性、隔离性、持久性。事务隔离级别:读未提交(read-uncommitted)、 读已提交/不可重复读(read-committed)、多数数据库默认 可重复读(repeatable-read)、Mysql默认 串行化(serializable)。 ...
分类:
数据库 时间:
2018-10-29 22:55:55
阅读次数:
222
目录 简介 安装启动 权限 事务 脏读、不可重复读、幻读 MVCC 复制 异步复制 半同步复制 GTID复制 集群(Galera) 配置 监控(Zabbix) 简介 环境: CentOS 7.4.1708 MariaDB 10.3.9 简介: MySQL 由 MySQLAB 公司开发。 MariaD ...
分类:
数据库 时间:
2018-10-29 14:08:31
阅读次数:
167
通俗地解释脏读、不可重复读、幻读 2017年12月11日 17:59:56 Somhu 阅读数:3865 标签: 数据库 更多 个人分类: 数据库 spring(数据库)事务隔离级别分为四种(级别递减): 1、Serializable (串行化):最严格的级别,事务串行执行,资源消耗最大; 2、RE ...
分类:
数据库 时间:
2018-10-25 14:17:14
阅读次数:
166