美文网首页
postgresql实战—事务和事务隔离级别

postgresql实战—事务和事务隔离级别

作者: 熊猫学猿 | 来源:发表于2022-08-05 06:15 被阅读0次

当sql的where条件中出现or时很有可能出现Bitmap index扫描。

事务是数据库系统执行过程中最小的逻辑单位,当事务被提交时,数据库管理系统要确保一个事务中所有的操作都成功完成,并且在数据库中永久保存操作结果。如果一个事务中的一部分没有操作完成,则数据库管理系统会把数据库回滚到操作执行前的状态。

事务有四个重要的特性:

原子性:一个事务的所有操作,要么全部执行,要么全部不执行。

一致性:执行事务时保持数据库从一致的状态变更到另一个一致的状态。

隔离性:即使每个事务都能确保一致性和原子性,如果并发执行时,由于它们的操作以人们不希望的方式交叉运行,就会导致不一致的情况发生。确保事务与事务并发只需时,每个事务都感觉不到其他事务在并发地执行。

持久性:一个事务完成后,即使数据库发生故障,它对数据库的改变应该永久保存在数据库中。

事务一致性由主键、外键这类约束保证,持久性由预写日志(WAL)和数据库管理系统的恢复子系统保证,原子性、隔离性则由事务管理器和MVCC来控制。

脏读:当第一个事务读取了第二个事务中已经修改但还未提交的数据,包括INSERT、UPDATE、DELETE,当第二个事务不提交并执行ROLLBACK后,第一个事务所读取到的数据是不正确的。

不可重复读:党第一个事务第一次读取数据之后,被读取的数据被另一个已提交的事务进行了修改,事务再次读取这些数据时发现数据已经被另一个十五修改,两次查询的结果不一致。

幻读:指一个事务的两次查询的结果集记录数不一致。例如一个事务第一次根据范围条件查询了一些数据,而另一个事务却在此时插入或删除了这个事务查询结果集中的部分数据,这个事务会在接下来会查询中,会发现有一些数据在它先前的查询结果中不存在,或者第一次查询结果中的一些数据不存在了,两次查询结果不同。

ANSI SQL标准的事务隔离级别:

Read Uncommitted(读未提交):所有事务都可以看到其他未提交事务的执行结果,这一事务隔离级别很少用于实际应用。

Read Committed(读已提交):默认隔离级别,一个事务只能看见已提交事务对关联数据所做的改变的隔离需求。

Repeatable Read(可重复读):确保同一事务的多个实例在并发读取数据时,会看到同样的数据行

Serializable(可序列化):最高的隔离级别,它通过强制事务排序,使在不可能相互冲突,从而解决幻读问题。

相关文章

  • postgresql实战—事务和事务隔离级别

    当sql的where条件中出现or时很有可能出现Bitmap index扫描。 事务是数据库系统执行过程中最小的逻...

  • PostgreSQL 12.2 公开课及视频及PGCE认证(第8

    八、PostgreSQL 12.2 数据库事务隔离级别及其应用场景 1、ACID及各种事务隔离级别概述 2、多版本...

  • MySQL 事务隔离级别解析和实战

    MySQL 事务隔离级别解析和实战 1、MySQL 隔离界别查看 查看回话隔离级别 查看系统隔离级别 2、MySQ...

  • Spring 中的事务隔离级别

    什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执...

  • mysql事务

    事务属性的种类:传播行为、隔离级别、只读和事务超时 a)传播行为定义了被调用方法的事务边界。 b)隔离级别 在操作...

  • MySQL_tx_isolation

    事务隔离级别 一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、...

  • MySQL事务隔离级别和实现原理,看这一篇就够了!!!

    经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么...

  • MYSQL事务

    常用语句 MYSQL事务,锁表 事务控制语句 事务的隔离级别 隔离级别描述产生风险READUNCOMMITTED ...

  • SQL事务隔离级别和MySQL事务隔离级别

    RU 隔离级别:Read Uncommitted 读未提交不允许脏写,会发生脏读,不可重复读,幻读。 RC 隔离级...

  • 面试题

    基础知识 1、事务隔离级别 补充: 1、事务隔离级别为读提交时,写数据只会锁住相应的行 2、事务隔离级别为可重复读...

网友评论

      本文标题:postgresql实战—事务和事务隔离级别

      本文链接:https://www.haomeiwen.com/subject/nifywrtx.html