pgsql(PostgreSQL)常用命令行操作_pgsql常用命令_石头wang的博客-CSDN博客
重要:事务的操作和事务的性质

操作演示




四种典型数据不一致现象:


串行调度和可串行调度
串行调度 顾名思义 就是可以进行调度的意思 可串行调度 就是 一种和串行调度等价的并行调度
效果是一样但是速度很快。

隔离级别的设置和查看
隔离级别---其实是一种弱隔离性
postgresql事务隔离级别如何查看以及设置_postgresql查看事务隔离级别_abcwywht的博客-CSDN博客
mysql数据库事务隔离级别的查看、设置、以及隔离级别有效范围的设置_mysql查看事务隔离级别_河马小胖子的博客-CSDN博客
(1条消息) postgreSQL默认的隔离级别及修改_瀚高PG实验室的博客-CSDN博客
两种默认的隔离级别



介绍和个别操作演示
BEGIN;
SET TRANSACTION ISOLATION LEVEL {
SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ
UNCOMMITTED };
psql的操作
SET TRANSACTION ISOLATION LEVEL { SERIALIZABLE |
REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED };
mysql的操作
Read Uncommited

缺点 脏读 不可重复读 和幻读 都可能发生.适合对数据一致性要求比较低的情况
Read Commited


可重复读------repeatable read

模式的暂时修改只能在事务内进行 ,生命周期事一个事务,如果想要在一个进程(可以理解为最大周期)内运行的话,需要修改默认的default_transaction_isolation;

红色笔 如果是read commit读到的将会是5

找到冲突可串行方法
🔒

两段锁协议

只要按照这样的方式进行加锁解锁 都是冲突可串行的调度

两段锁可能导致级联终止

严格调度不会出现级联终止-----SS2PL
可以解锁 但是解锁过程不能陆陆续续解锁,只有在事务结束的时候才能释放所有锁。



总结
从上到下 异常冲突的级别主键变小 但是相应产生的并发度也相对越低 所以在实际设计中 需要程序员尽量设计出并发度高的代码 同时也可以利用屏蔽来减少冲突。



![[SpringBoot]创建聚合项目](https://img-blog.csdnimg.cn/0d387290d69340128ef1df004aeb2f76.png)
















