`

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 日常维护汇总

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

    DB2技术参考大全,

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

    DB2 700认证试题

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

    DB2实用教程

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

    DB2课件

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

    DB2实验报告.zip

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

    DB2初学者指南

    你将学习如何在DB2中启动、提交和回滚事务,以及理解不同隔离级别对并发操作的影响。 安全性在任何数据库系统中都是至关重要的。DB2提供了一套全面的安全框架,包括用户权限管理、角色、对象权限和审计功能。了解...

    DB2性能调优入门教程

    I/O涉及磁盘读写、网络传输、连接管理、锁和隔离级别;CPU使用则与访问计划、物化查询表(MQT)和索引紧密相关。 接着,深入探讨DB2内存考虑。DB2的内存模型包括缓冲池,这是缓存数据和索引页面的地方,以减少对...

    db2jcc4.zip

    5. 在处理事务时,了解DB2支持的事务隔离级别,如读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE),根据应用需求选择合适的级别。 6. 熟悉DB2...

    IBM DB2 730官方资料pdf版

    3. **数据并发(6 Data concurrency_db2-cert7306-a4.pdf)**: 数据并发处理是多用户环境下DB2的核心功能,它涉及锁机制、事务隔离级别和死锁处理。这部分将深入讲解如何在保证数据一致性的同时,允许多个用户同时访问...

    DB2 developer guide

    开发者需要了解如何处理并发事务,防止死锁,并理解不同隔离级别的含义和选择。 5. **备份与恢复**:理解DB2的备份策略和恢复技术对于确保业务连续性和数据安全至关重要。这包括全库备份、增量备份、差异备份,以及...

    db2 连接数据库笔记

    8. **事务管理**:DB2支持ACID(原子性、一致性、隔离性和持久性)事务特性,开发者需要了解如何开启、提交、回滚事务以及设置事务隔离级别。 9. **游标和结果集**:执行查询后,结果通常会返回一个`ResultSet`对象...

    DB2错误码及其函数

    例如,错误码407可能涉及到事务的并发控制,需要理解死锁和事务隔离级别。而错误码104可能是由于语法错误,这可能需要对SQL语句的结构和语法有深入的理解。 总的来说,DB2错误码及其函数是DB2管理和维护的关键组成...

    DB2在AIX上双机安装详细全过程

    在创建数据库后,可能需要设置实例隔离级别,如`db2 quiesce database immediate force connections`。此外,可能还需要根据业务需求更新数据库配置,如日志归档策略。 10. **监控和维护**: 完成安装和配置后,...

    db2_driver

    DB2驱动程序是IBM公司开发的一种数据库连接器,主要用于与IBM DB2数据库系统进行交互。在本文中,我们将深入探讨DB2驱动程序的核心概念、功能、类型以及如何在不同的环境中配置和使用它。 DB2驱动程序是应用程序与...

    DB2数据库表导入MYSQL

    - 考虑到MySQL的InnoDB引擎在事务处理上的特性,可能需要调整事务隔离级别和锁策略。 7. **测试与验证**: - 导入完成后,进行全面的功能和性能测试,确保所有业务逻辑和数据完整性都得到保留。 以上就是从DB2...

    db2完整的学习资料

    - 事务与并发控制:理解ACID属性,掌握事务的提交、回滚和隔离级别。 - 锁机制:了解行级锁、页级锁和表级锁的原理及应用。 5. **备份与恢复**: - 备份策略:全备、增量备份数据库的方法和时机选择。 - 恢复...

    可用的db2驱动,谁用谁知道,用过的都说好

    此外,DB2驱动还支持多种事务隔离级别,满足不同应用场景的需求,确保数据的一致性和完整性。 在实际使用DB2驱动时,开发者需要将对应的JDBC驱动jar包添加到项目类路径中。在Java代码中,可以通过以下步骤建立...

Global site tag (gtag.js) - Google Analytics