`

DB2四种隔离级别

 
阅读更多
这两天系统调优,DB2数据库访问总是有所瓶颈。
DB2隔离即是一些锁定策略,有赖于隔离级别的选择,可能在一个程序中收到不同的数据库锁定行为。DB2提供了不同的保护级别来隔离数据。
一、未落实的读(UR)
未落实的读亦称“脏读”,是最低的隔离级别,并且提供最高的并行性。除非另一个程序企图删除(drop)或者更改(alter)整个表,否则读操作时没有行锁定。而修改(update)操作与游标稳定性级别相同。
此隔离级别仍存在的问题:未落实的读,不可重复读,幻象。
此隔离级别所防止的问题:丢失更新。
二、游标稳定性(CS)
游标稳定是默认的隔离级别,提供了低程度的锁定。在这一隔离级别中,游标的“当前”行是锁定的。如果该行只是被读,锁定会一直持续到一个新行被访问或者该工作单元终止。如果该行被修改,锁定会一直持续到该工作单元终止。
此隔离级别仍存在的问题:不可重复读,幻象。
此隔离级别所解决的问题:丢失更新,未落实的读。
三、读稳定性(RS)
使用读稳定性,在同一个工作单元中的一个程序进程所检索的全部行都会被锁定。对于一个给定的游标,它要锁定所有与结果集匹配的行,例如,如果你有一个含1000行的表并且查询返回10行,那么只有那10行会被锁定。读稳定性使用中等级别的锁定。
此隔离级别仍存在的问题:幻象。
此隔离级别所解决的问题:丢失更新,未落实的读,不可重复的读。
四、可重新性(RR)
可重复读是最高的隔离级别,提供了最大程度的锁定和最少的并行。产生结果集的所有行都会被锁定,也就是说,即使不必出现在最终结果集中的行也会被锁定。在此该工作单元结束前,任何其它程序都不能修改,删除或插入一个会影响结果集的行。重复读确保程序在一个工作单元中多次进行的同一项查询都返回结果。
隔离级别通常被定义在会话或程序级别,可以通过WITH {隔离级别}子句设定,形如:
SELECT …… WITH {UR | CS | RS | RR}
分享到:
评论

相关推荐

    DB2中的四个隔离级别

    DB2 支持四种隔离级别,分别是可重复读(Repeatable Read)、读稳定性(Read Stability)、游标稳定性(Cursor Stability)和未落实的读(Uncommitted Read)。每种隔离级别都有其特点和应用场景。 可重复读...

    DB2网上资源汇总

    3. 隔离级别研究:"DB2 JDBC的隔离级别研究"和"Robin DB2如何改变隔离级别"涉及到数据库事务的四个标准隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化...

    DB2学习记录

    当此参数设置为`ON`时,即使在CS隔离级别下,DB2的行为也会变得类似于Oracle的快照隔离级别,也就是说读取事务不再会被写入事务阻塞。这一设置大大提高了系统的并发能力,尤其是在高负载环境中。 #### 二、数据类型...

    DB2 日常维护汇总

    DB2 是一种关系数据库管理系统,提供了强大的数据存储和管理功能。本篇文章将总结 DB2 的日常维护知识点,包括 DB2 产品的级别、连接到 DB2 数据库的产品、DB2 支持的通讯协议、DB2 客户端产品、数据库安装、DB2 ...

    db2数据库培训课件

    DB2的事物隔离级别,包括表级锁定和行级锁定等,也是此部分的重点。 除了DB2性能优化的具体内容外,课件中还介绍了数据库发展历史,从1969年IBM开发的层次数据库IMS开始,到20世纪70年代IBM SystemR项目的确立和第...

    DB2数据库用户手册

    - **程序中间不能自由改变隔离级别**:在DB2中,一旦设置了事务的隔离级别,则在整个事务期间都不能改变。 - **update不能用一个表中的记录为条件修改另一个表中的记录**:无法直接使用一个表中的数据作为条件来修改...

    DB2技术参考大全,

    DB2支持四种事务隔离级别,可以根据业务需求选择合适的级别来平衡并发性和数据一致性。 备份与恢复是DB2管理中的关键环节。DB2提供了全备份、增量备份和差异备份策略,以及在线备份能力,使得在不影响业务运行的...

    DB2锁-的学习总结

    CS(Cursor Stability)隔离级别是DB2的默认隔离级别,它确保了在事务中打开的游标中数据的一致性。 ##### 5.4 UR隔离级别(未落实的读) UR(Uncommitted Read)隔离级别允许事务读取未提交的数据,可能会出现脏...

    DB2常见傻瓜问题183问

    #### 四、DB2客户端产品概述 DB2客户端产品涵盖了从基本操作到高级管理的各个方面: 1. **DB2运行时间客户端(DB2 Runtime Client)**:基础级别的客户端工具,适用于一般用途。 2. **DB2管理客户端(DB2 ...

    DB2 700认证试题

    DB2采用SQL作为其查询语言,支持ACID(原子性、一致性、隔离性、持久性)事务,保证了数据的一致性和完整性。它提供了多种数据库存储引擎,如DMS(数据库管理系统)用于处理结构化数据,以及DFS(分布式文件系统)...

    DB2 SQL性能调优秘笈

    1. **隔离级别设置**:通过调整事务的隔离级别,可以在数据一致性和并发性能之间找到合适的平衡点。 2. **锁等待超时配置**:适当配置锁等待超时时间,可以有效避免长时间的锁等待,减少死锁的可能性。 3. **手动...

    DB2实用教程

    DB2支持四种隔离级别:读未提交、读已提交、可重复读和串行化,以适应不同应用的需求。 安全性是DB2的重要组成部分,包括用户认证、权限管理和审计。用户通过用户名和密码登录,DB2提供角色机制来简化权限管理。...

    DB2课件

    它提供了不同级别的事务隔离级别,如读未提交、读已提交、可重复读和串行化,以满足不同应用场景的需求。 DB2的索引机制有助于提升查询性能。除了基本的B树索引,DB2还支持位图索引、空间索引和XML索引。合理地创建...

    DB2 讲义,介绍DB2如何创建数据库等

    #### 四、数据库的隔离级别与安全性 - **隔离级别**:确定并发事务之间的数据一致性程度,DB2支持多种隔离级别,如读未提交、读已提交、可重复读和串行化。 - **安全性**:每个实例享有独立的安全性,不受同一系统...

    DB2学习手册

    4. **程序中间不能自由改变隔离级别:** 一旦设置了隔离级别,就不能在同一个事务中更改。 5. **UPDATE不能用一个表中的记录为条件修改另一个表中的记录:** 更新操作通常只能在一个表上进行,跨表更新需要使用更复杂...

    DB2数据库基础学习

    - **DB2 Workgroup Server Edition (WSE)**:适用于工作组级别的数据管理需求。 - **DB2 Connect**:用于连接和访问DB2数据库的客户端工具。 ##### 2. **DB2访问** DB2提供多种访问方式,包括ODBC、JDBC、CLI...

    DB2实验报告.zip

    事务管理对于保持数据库的一致性和完整性至关重要,学习者需要理解事务的开始、提交、回滚操作以及事务隔离级别。 并发控制是多用户环境下数据库系统的关键部分。DB2使用了锁定机制来防止并发操作中的数据不一致。...

Global site tag (gtag.js) - Google Analytics