使用 DEF_TABLE_LOCKMODE 配置参数来指定新表在页级或行级的锁模式。
- onconfig.std 值
-
PAGE
- 值
- PAGE = 为新表设置页的锁模式
- ROW = 为新表设置行的锁模式
- 生效
- 编辑 onconfig 文件并重启数据库服务器之后。
- 当您通过运行 onmode -wf 命令在 onconfig 中动态地重置该值时。
- 当您通过运行 onmode -wm 命令重置内存中的该值时。
- 优先规则
- 通过在 CREATE TABLE 或 ALTER TABLE 语句中包括 LOCK MODE 子句,您可取代对于特定表的所有其他锁模式。
- 在客户端设置的 IFX_DEF_TABLE_LOCKMODE 环境变量优先于服务器上的变量和 DEF_TABLE_LOCKMODE 配置参数。
- 在服务器上设置的 IFX_DEF_TABLE_LOCKMODE 环境变量优先于 DEF_TABLE_LOCKMODE 配置参数。
用法
如果 DEF_TABLE_LOCKMODE 配置参数设置为
ROW,对于连接到日志记录或非日志记录数据库的所有会话,则将每一个新创建表的锁模式都设置到行。该参数不影响现有表的锁模式。
如果 DEF_TABLE_LOCKMODE 配置参数设置为 PAGE,则 USELASTCOMMITTED 配置参数和 SET ISOLATION 语句的 COMMITTED
READ LAST COMMITTED 选项不可启用访问未提交事务持有排他锁的表中的最近提交数据,除非明确地创建或更改这些表将 ROW 作为其锁定粒度。