https://zhuanlan.zhihu.com/p/37087894 PostgreSQL9.1是第一个采用Serializable Snapshot Isolation(SSI)实现串行化隔离级别的生产级数据库。 本文的目标是学习与分析SSI的设计思路,以及在PG中的实现与优化。首先介绍了隔 ...
分类:
数据库 时间:
2019-12-24 13:33:55
阅读次数:
212
数据库的索引类型 聚集索引和非聚集索引的区别(叶节点存储内容) 唯一性索引和主码索引的区别 索引的优缺点,什么时候使用索引,什么时候不能使用索引(重点) 索引最左前缀问题 数据库中事务的ACID 数据库隔离性设置不同会出现的问题(脏读、不可重复读、丢失修改、幻读) Mysql有四个隔离级别:未提交读 ...
分类:
数据库 时间:
2019-12-24 09:43:41
阅读次数:
121
事务 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 1. 事务的特性: ACID 原子性:一个事务不可再分割,要么都执行要么都不执行 一致性:一个事务执行会使数据从一个一致状态切换到另外一个一致状态 隔离性:一个事务的执行不受其他事务的干扰 持久性:一个事务一旦提 ...
分类:
其他好文 时间:
2019-12-19 23:31:05
阅读次数:
104
最近,公司现网的业务中出现上图所示的死锁异常,沿着问题分析,发现这个问题涉及很多数据库的基础知识。 背景: 使用数据库:Mysql 涉及表格:t_invest 数据库隔离级别:可重复读(Repeatable Read) 死锁场景:saveRepaymentInfo事务的A()方法对t_invest表 ...
分类:
数据库 时间:
2019-12-19 21:15:19
阅读次数:
120
锁的粒度 表锁:锁住整个表,加锁和释放速度快,能避免死锁。因为锁住的范围大,并发性低。 页锁:锁住的范围以及性能基于表锁和行锁之间,能支持的主要是BDB(BerkeleyDB)引擎。 行锁:以行为单位进行锁定,粒度最小,并发性高。每次获取锁和释放锁需要做的事情也更多,带来的消耗自然也就更大了。此外, ...
分类:
数据库 时间:
2019-12-17 10:23:31
阅读次数:
91
事务的特性: 原子性:事务的不可分割,组成事务的各个逻辑单元不可分割。 一致性:事务执行的前后,数据完整性保持一致。 隔离性:事务执行不应该受到其他事务的干扰。 持久性:事务一旦结束,数据就持久化到数据库中。 查看/设置隔离级别 查看:SELECT @@tx_isolation 设置:set tx_ ...
分类:
数据库 时间:
2019-12-17 00:26:06
阅读次数:
131
1.事务特性:ACID Atomicity:原子性 Consistency:一致性 Isolation:隔离性 Durability:持久性 2.事务并发问题: 脏读 不可重复读 幻读 3.事务的隔离级别: 1 读未提交 2 读已提交 4 可重复读 8 串行化 4.事务的传播行为 ...
分类:
编程语言 时间:
2019-12-16 19:34:36
阅读次数:
99
面试白话文,事务隔离级别 事务具有原子性、一致性、隔离型、持久性。 使用Mysql数据库说明事务隔离级别: mysql支持事务的常用引擎是InnoDB mysql默认事务隔离级别可重复读(REPEATABLE-READ):使用show variables like 'tx_isolation' 查看 ...
分类:
其他好文 时间:
2019-12-16 13:17:42
阅读次数:
105
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。 1、Read uncommitted(读未提交):可以select到 ...
分类:
数据库 时间:
2019-12-14 10:28:09
阅读次数:
115
刚开始写博客.. 写的太low。 1、数据库的两种读,每种读读的数据版本不一样,所以也称为MVCC,即多版本并发控制 a) 快照读 select from where xxx 这种形式的都是快照读。 b) 当前读 update , insert ,delete ,select xx from xx ...
分类:
数据库 时间:
2019-12-13 09:14:45
阅读次数:
169