informix锁信息 问题介绍

informix锁信息 问题介绍

ID:6074484

大小:113.00 KB

页数:13页

时间:2018-01-02

informix锁信息 问题介绍_第1页
informix锁信息 问题介绍_第2页
informix锁信息 问题介绍_第3页
informix锁信息 问题介绍_第4页
informix锁信息 问题介绍_第5页
资源描述:

《informix锁信息 问题介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、理解2锁什么是锁?锁是一种软件机制,用于控制对数据库中的数据的访问。在出现同时读取和更新数据的多用户环境中,锁能够确保每个事务的原子性、隔离、一致性和持续性(ACID)不受到威胁,并且维护数据的完整性。锁的粒度Informix提供各种粒度的锁。它们是:·数据库锁:针对整个数据库的锁·表锁:针对整个表的锁·页锁:针对整页数据的锁·行锁:针对一个数据行的锁·字节锁:在包含VARCHAR的行上的锁·键锁:在索引中的一个键值上的锁锁的粒度越粗,它就能锁住越多的数据库对象。例如,对于能够在一个磁盘页上包含4行的表,

2、在该页放置一个锁将锁住其中包含的所有4个行。相反,如果使用行锁,那么将仅锁住一个行。因此,锁的粒度越粗,并发性就越低,从而影响到性能,尤其是应用程序试图访问相同的行集时。不过,粗粒度也意味着在某些情况下锁住相同数量的行需要的锁数量更少。例如,锁住整个表仅需要一个表锁。表的锁模式创建一个表时,它的默认锁粒度是页锁。可以在创建表的过程中使用LOCKMODE子句覆盖默认值。例如:CREATETABLEt1(c1int)LOCKMODEROW;这个上下文中的锁模式表明访问表时需要使用的锁的粒度。如果从CREATESQ

3、L语句省略掉这个LOCKMODE子句,那么就使用默认的锁模式。如果表已经创建,那么可以使用ALTERTABLE语句更改锁模式。对于以上提到的表t1例子,您可以使用下面的ALTER语句将锁模式从行锁更改页锁:dbaccessdb1-ALTERTABLEt1LOCKMODE(PAGE);可以使用配置参数DEF_TABLE_LOCKMODE更改已创建的表的默认锁模式。该参数的值可以是ROW或PAGE。例如,如果DEF_TABLE_LOCKMODE设置为ROW,那么数据库服务器重启之后创建的表的默认锁模式将为ROW。

4、类似地,可以使用环境变量IFX_DEF_TABLE_LOCKMODE实现相同的效果。注意:如果从运行oninit以启动服务器的窗口设置环境变量,那么通过环境变量指定的默认锁模式将对所有会话有效。然而,如果仅在特定客户端会话环境中设置锁模式,那么它仅对特定会话有效。清单1-4显示了检查表的锁模式的不同方法(表名为t1;数据库名为db1):清单1.使用dbschemadbschema-ddb1-tt1-ss清单2.输出createtable"informix".t1(c1integer)extentsize16n

5、extsize16lockmoderow;清单3.使用oncheckoncheck-ptdb1:t1Output:TBLspaceReportfordb1:informix.t1PhysicalAddress1:64070Creationdate07/14/200904:51:27TBLspaceFlags802RowLockingTBLspaceuse4bitbit-mapsMaximumrowsize4Numberofspecialcolumns0Numberofkeys0Numberofextents1

6、Currentserialvalue1CurrentSERIAL8value1CurrentBIGSERIALvalue1CurrentREFIDvalue1Pagesize(k)2Firstextentsize8Nextextentsize8Numberofpagesallocated8Numberofpagesused1Numberofdatapages0Numberofrows0Partitionpartnum1049067Partitionlockid1049067ExtentsLogicalPage

7、PhysicalPageSizePhysicalPages01:6499988清单4.使用dbaccess从数据库的系统目录表查询系统表dbaccessdb1->select*fromsystableswheretabname='t1';tabnamet1ownerinformixpartnum1049067tabid100rowsize4ncols1nindexes0nrows0.00created07/14/2009version6553601tabtypeTlocklevelRnpused0.00fex

8、tsize16nextsize16flags0sitedbnametype_xid0am_id0pagesize2048ustlowtssecpolicyid0protgranularity字段“locklevel”为R,表明这是一个行锁。另外,使用onstat-k来监控锁模式。这将在“使用onstat实用程序监控锁”小节进行介绍。回页首锁的类型数据库、表、页和行(在这个小节中统称为对象)通过不同类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。