关于rowid

对于表中的每一个数据行来说,rowid是索引用来指向该数据行物理位置的一个信息。

但是informix用来加锁的时候,很多时候都是加在了rowid行,无论是对于数据库,还是对于表,还是数据行。

database rowid的获取:

select name,hex(rowid) from sysmaster:sysdatabases where name='dbname'

table rowid的获取方法:

select  tabname,hex(partnum),hex(rowid) from sysmaster:systabnames

where dbsname='tpcc100' and tabname='customer'

data row rowid的获取如下:

select hex(rowid),* from tabname where pk='';

 

对于分片表来说,需要使用:

1、create table ...  with rowid;

2、alter table  ....  add rowid;

 

对于onstat -k的输出补充解释如下:

Locks
address          wtlist           owner            lklist           type     tblsnum  rowid    key#/bsiz
Locks
address          wtlist           owner            lklist           type     tblsnum  rowid    key#/bsiz
441970b0         0                453fdda8           0                HDR+S    100002   204         0       
44197688         0                453fc368           0                    S    100002   204         0       
44197930         0                453fb1e8           0                HDR+S    100002   20a         0       
44198128         0                45401228           0                    S    100002   20a         0       
44198678         0                45400968           0                    S    100002   201         0       
44198a30         0                453fb1e8           4419dd98         HDR+S    a00002   57ea01      0       
44198d60         0                453ff7e8           0                    S    100002   204         0       
44198e70         0                453fb1e8           44197930         HDR+IS   600045   0           0       
4419aa10         0                453fef28           0                    S    100002   204         0       
4419b290         0                453fb1e8           44198e70         HDR+SR   a0000a   57ea01   K- 1       
4419bc20         0                453fc368           44197688         HDR+S    100002   201         0       
4419dd98         0                453fb1e8           4419b290         HDR+SR   a0000a   58e401   K- 1       
4419f140         0                45401228           44198128             S    100002   201         0 

tblsnum=100002 表示数据库锁,后面的rowid就是某个特定是数据库对应的database rowid;

tblsnum=600045   表示某个表或索引的rowid

onstat -k输出中的rowid表示锁加的具体对象,可以是某个数据行的rowid,也可以是某个是索引树对应该数据行的rowid

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值