db2set -lr 可以看到这个几个参数
DB2_EVALUNCOMMITTED
DB2_SKIPINSERTED
DB2_SKIPDELETED
默认情况下 参数设置为 OFF
DB2_EVALUNCOMMITTED
设置:将进行表或索引存取扫描以延迟或避免行锁定,直到知道数据记录满足谓词求值为止
DB2_SKIPDELETED
设置:允许使用“cs”或“rs”隔离级别的语句(在索引存取期间)无条件地跳过已删除但未提交的键和(在表存取期间)跳过已删除的行
DB2_SKIPINSERTED
设置:允许使用“cs”或“rs”隔离级别的语句(在索引存取期间)无条件地跳过已新增但未提交的记录的键和 (在表存取期间)跳过已删除的行
设置
db2set DB2_EVALUNCOMMITTED=ON
db2set DB2_SKIPINSERTED =ON
db2set DB2_SKIPDELETED=ON
设置这些参数能够提高并发性能
附录介绍
DB2_EVALUNCOMMITTED
DB2 V8.1.4版本中首次引入了DB2_EVALUNCOMMITTED这个DB2注册表变量。当它被启用(=TRUE | ON | YES | 1)时,它将修改DB2中只读查询的行为,以减少锁冲突,使之允许在索引扫描(必须是type-2索引,对于type-1索引该特性不受支持)或表访问时推迟锁,直到限定语句的所有谓词都是已知的。引入这个新的注册表变量是为了可选地提高一些应用程序的并发性,其实质是允许读扫描推迟或避免行锁,只能获得那些符合某个谓词的行上的锁,而并不是获得被检查的所有行上的锁。直到适合特定查询的一个数据记录成为已知。
DB2_SKIPINSERTED
设置DB2_SKIPINSERTED=ON,DB2将把未提交的INSERT(只适于CS和RS隔离级别)看作它们还没有被插入。该特性增加了并发性,同时又不牺牲隔离语义。DB2为扫描器实现了这种能力,通过锁属性和锁请求的反馈,使其忽略未提交的插入行,而不是等待。
DB2_SKIPDELETED
DB2_SKIPDELETED变量被启用时,将允许使用CS或RS隔离级别的语句在索引扫描期间无条件地跳过被删除的键,而在表访问期间则无条件地跳过被删除的行。当DB2_EVALUNCOMMITTED被启用时,被删除的行会被自动跳过,但是除非同时启用了DB2_SKIPDELETED,否则type-2索引中未提交的伪删除键不会被跳过。
分享到:
相关推荐
在实际工作中,DBA不仅要理解db2exfmt的输出,还需要关注系统配置、注册表变量和工作负载特性,以便调整和优化数据库性能。对于复杂的查询,理解优化器如何选择索引、何时进行排序或连接操作,以及如何利用缓冲池等...
- `DB2_EVALUNCOMMITTED=on`:这个注册表变量用于优化查询,尽可能避免行级锁定,直到满足查询条件。 - `DB2_SKIPDELETED=on`:启用此选项可以避免因删除的行而产生的锁定。 - `DB2_SKIPINSERTED=on`:允许跳过未...
- **1.5.2 注册表变量和环境变量**:这些变量用于控制DB2的行为,例如设置最大并发用户数。 - **1.5.3 管理服务器配置设置**:通过管理服务器可以集中配置多个DB2实例。 - **1.5.4 数据库管理器配置参数**:这些参数...
- **环境变量和配置注册表**:这些设置决定了DB2的运行环境,例如临时文件目录、错误日志位置等。管理员可以通过调整这些设置来优化系统配置。 - **业务规则**:定义了数据应该如何被处理,包括数据验证规则、数据...
- **注册表变量和环境变量:** 可以用来调整DB2的行为,例如设置最大并发用户数等。 - **管理服务器配置设置:** 管理服务器是DB2中的核心组件之一,负责监控所有实例的状态。 - **数据库管理器配置参数:** 控制数据库...
1. **IBM DB2**:以其稳定性和高性能著称,尤其在大型企业和金融领域广泛应用。 2. **Oracle**:以强大的数据库管理和高可用性闻名,是大型企业的首选,具有优秀的并行处理能力。 3. **MS SQL Server**:微软出品,...
db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...