如前所述,MicrosoftJet不能锁定单个的记录,每次读、写以及锁定的都是一页数据,面不是一个记录。根据记录的大小,一页可能包含多个记录。当锁定一个记录时,就会锁定那一页上的所有记录,如图8.6所示。
在高并发应用程序中,要求对指定记录提供畅通无阻的访问。可以用不同的策略来实现设计。
1.使用Text类型。可以用Text数据类型把字段添加到表中,直到记录长度超过1024个字节。由于Text是变长数据类型,必须显式地用数据来填补字段以获得一个定长格式。同时,这种技术可能会降低性能,因为如果每个记录都占用2K磁盘空间,则数据库的长度将会增加。因此,建议不要使用Text数据类型。
2.使用CHAR类型。SQLDDLCHAR是一种定长数据类型。如果使用这种类型,则可不必用数据来填补字段。使用CHAR数据类型是实现这种技术的最简单而且保险的唯一方法。
3.使用开放锁定。另一种策略是:在任何地方都使用开放方式锁定。虽然开放式锁定不能避免页面锁定,但它可以使记录被锁定的时间最短,因此降低了不需要锁定的记录也被锁定的可能性。
4.使用自定义的锁定方案。有时候,页面锁定不能满足需要,而开放...[ 查看全文 ]
如果您有什么好的建议或者疑问,可以联系我们。 商务合作QQ:3272218541;3282258740。商务合作微信:13319608704;13319603564。
加好友请备注机构名称。让我们一起学习、一起进步tulaoshi.com 版权所有 © 2019 All Rights Reserved. 湘ICP备19009391号-3
微信公众号