您现在的位置是: 软件 > 设计在线 > 网页陶吧 > 技术平台 > HTML学习 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

多客户环境下VB数据库编程之(7)
2001-02-21· ·--··vbeden

1 2  下一页


页面锁定的锁定方案

  如前所述,Microsoft Jet不能锁定单个的记录,每次读、写以及锁定的都是一页数据,面不是一个记录。根据记录的大小,一页可能包含多个记录。当锁定一个记录时,就会锁定那一页上的所有记录。

  在高并发应用程序中,要求对指定记录提供畅通无阻的访问。可以用不同的策略来实现设计。

  1.使用Text类型。可以用Text数据类型把字段添加到表中,直到记录长度超过1024个字节。由于Text是变长数据类型,必须显式地用数据来填补字段以获得一个定长格式。同时,这种技术可能会降低性能,因为如果每个记录都占用2K磁盘空间,则数据库的长度将会增加。因此,建议不要使用Text 数据类型。

  2. 使用CHAR类型。SQL DDL CHAR 是一种定长数据类型。如果使用这种类型,则可不必用数据来填补字段。使用CHAR数据类型是实现这种技术的最简单而且保险的唯一方法。

  3.使用开放锁定。另一种策略是:在任何地方都使用开放方式锁定。虽然开放式锁定不能避免页面锁定,但它可以使记录被锁定的时间最短,因此降低了不需要锁定的记录也被锁定的可能性。

  4.使用自定义的锁定方案。有时候,页面锁定不能满足需要,而开放式锁定也可能无法满足需要。在这种情况下,可以考虑使用自定义的锁定方案。当一个记录被锁定时,可以用一个锁定表来标识。锁定表存储记录的键值、锁定状态(锁定或未锁定)以及锁定记录的用户名等。自定义锁定方案的实现需要大量的设计、实现以及测试时间。在许多情况下,它不能与内置的Microsoft Jet的功能重复。例如,即使实现单记录锁定,处理基于多个表的记录集的数据也是非常困难的,因为必须标识所有表,而这些表都包含必须锁定的记录。当自定义锁定方案只影响几个表,而且不是基于一个具有复杂连结和关系的数据模型时,使用自定义锁定方案较为适宜。

1 2  下一页

■ 相关内容
 多客户环境下VB数据库编程之(10)
 多客户环境下VB数据库编程之(8)
 多客户环境下VB数据库编程之(6)
 多客户环境下VB数据库编程之(5)
 多客户环境下VB数据库编程之(4)
 多客户环境下VB数据库编程之(3)
 多客户环境下VB数据库编程之(2)
 多客户环境下VB数据库编程之(1)
 多客户环境下VB数据库编程之(9)
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!