PostgreSQL数据库学习手册之并发控制介绍

王朝mssql·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Chapter 9. 并发控制

Table of Contents

9.1. 介绍

9.2. 事务隔离

9.2.1. 读已提交隔离级别

9.2.2. 可串行化隔离级别

9.3. 明确锁定

9.3.1. 表级锁

9.3.2. 行级锁

9.3.3. 死锁

9.4. 应用层的数据完整性检查

9.5. 锁和索引

本章描述 PostgreSQL 数据库系统在两个 或者更多会话视图同事访问同样的数据的时候表现出来的样子。 在那种并发访问的情况下的目标是为所有会话提供高效的访问,同时还 要维护严格的数据完整性。每个数据库应用的开发人员都应该熟悉本章 讨论的话题。

9.1. 介绍

与其他使用锁来进行并行控制的数据库系统不同, PostgreSQL 利用多版本模型来维护数据的一致性。 (多版本并发控制,Multiversion Concurrency Control, MVCC)。 这就意味着当检索数据库时,每个事务都看到一个 数据的一段时间前的快照 ( 一个数据库版本), 而不管正在处理的数据当前的状态。这样,如果对每个数据库会话进行 事务隔离, 就可以避免一个事务看到因为其它并行的事务更新 同一行数据而导致的不连贯的数据。

多版本和锁定模型的主要区别是在MVCC里, 对检索(读)数据的锁要求与写数据的锁要求不冲突, 所以读不会阻塞写,而写也从不阻塞读。

在 PostgreSQL 里也有表和行级别的锁定设施, 用于给那些无法轻松接受 MVCC 行为的应用。 不过,恰当地使用 MVCC 总会提供比锁更好地性能。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航