锁定
数据库服务器会使用可影响并行和性能的锁定。您可以监视和管理锁定。
锁定
锁定
是一种软件机制,可设置来防止其他程序使用某个资源。可以对单行或键、一页数据或索引键、整个表或整个数据库放置锁定。
配置锁定方式
创建表时,缺省锁定方式是
page
。可以通过设置
IFX_DEF_TABLE_LOCKMODE
环境变量或 DEF_TABLE_LOCKMODE 配置参数以在创建或变更表时更改锁定方式(从而提高或降低并发性)。
将锁定方式设置为等待
应用程序进程遇到锁定时,数据库服务器的缺省行为是返回一条错误。 然而,您可以运行 SQL 语句来将锁定方式设置为等待。该操作指定在除去锁定后应用程序进程才会继续。
使用了 SELECT 语句的锁定
数据库服务器放置的锁定类型和持续时间取决于应用程序中设置的隔离级别、数据库方式(日志记录、非日志记录或 ANSI),以及 SELECT 语句是否位于更新游标中。这些锁定能够影响整体性能,因为它们影响并行性。
使用 INSERT、UPDATE 和 DELETE 语句加上的锁定
执行 INSERT、UPDATE 或 DELETE 语句时,数据库服务器将使用互斥锁定。互斥锁定意味着,在数据库服务器除去锁定之前,其他用户不能更新或删除项目。
内部锁定表
数据库服务器在内部锁表中存储锁。当数据库服务器读取一行时,它会检查锁表中是否列出了该行或与该行相关联的页、表或数据库。 如果锁表中已列出,数据库服务器还必须检查锁定类型。
监视锁定
可以分析有关锁定的信息并通过查看包含存储锁定的内部锁表中的信息来监视锁定。
智能大对象的锁定
智能大对象有几个唯一的锁定行为,因为它们的列通常比表中其他列要大的多。