KingbaseES锁优化点分析

锁优化点分析

视图 sys_locks 提供对有关数据库服务器内活动进程所持有的锁的信息的访问。

Name

Type

Description

locktype

text

可锁对象的类型:relation, extend, page, tuple,transactionid, virtualxid, object, userlock 或者 advisory

database

oid

锁目标存在的数据库的OID,如果目标是一个共享对象则为0,如果目标是一个事务ID则为空

relation

oid

作为锁目标的关系的OID,如果目标不是一个关系或者只是关系的一部分则此列为空

page

integer

作为锁目标的页在关系中的页号,如果目标不是一个关系页或元组则此列为空

tuple

smallint

作为锁目标的元组在页中的元组号,如果目标不是一个元组则此列为空

virtualxid

text

作为锁目标的事务虚拟ID,如果目标不是一个虚拟事务ID则此列为空

transactionid

xid

作为锁目标的事务ID,如果目标不是一个事务ID则此列为空ID

classid

oid

包含锁目标的系统目录的OID,如果目标不是一个普通数据库对象则此列为空

objid

oid

锁目标在它的系统目录中的OID,如果目标不是一个普通数据库对象则为空

objsubid

smallint

锁的目标列号(classid和 objid指表本身),如果目标是某种其他普通数据库对象则此列为0,如果目标不是一个普通数据库对象则此列为空

virtualtransaction

text

保持这个锁或者正在等待这个锁的事务的虚拟ID

pid

integer

保持这个锁或者正在等待这个锁的服务器进程的PID,如果此锁被一个预备事务所持有则此列为空

mode

text

此进程已持有或者希望持有的锁模式

granted

boolean

如果锁已授予则为真,如果锁被等待则为假

fastpath

boolean

如果锁通过快速路径获得则为真,通过主锁表获得则为假

sys_locks 每个活动的可锁定对象,请求的锁定模式和相关进程包含一行。因此,如果多个进程正在持有或等待对其进行锁定,则同一可锁定对象可能会出现多次。但是,当前没有锁的对象将根本不会出现。

有几种不同类型的可锁定对象:整个关系(例如表),单个关系页面,单个元组关系,事务ID(虚拟ID和永久ID)以及通用数据库对象(由OID类和OID对象标识,以与sys_description或sys_depend相同的方式)。同样,扩展关系的权利也表示为单独的可锁定对象。另外,可以对具有用户定义含义的数字进行“建议”锁定。

你可能感兴趣的:(oracle,数据库)