并发和锁定

如果在单个用户工作站中包含您的数据库,而没有网络将它连接到其他计算机,则并发并不重要。在所有其他情况下,您必须允许这样的可能性:当您的程序正在修改数据时,另一程序也正在读取或修改同一数据。并发涉及在同一时间对同一数据的两个或多个独立使用。

在多用户数据库系统中,高级别的并发对良好的性能至关重要。然而,除非在数据的使用上存在控制,否则并发可导致各种负面的影响。程序可能读取过时的数据;即使表面上似乎成功地输入了修改,但修改可能丢失。

要防止此类错误,数据库服务器强加一个锁定系统。锁定是程序可在一块数据上放置的声明或保留。只要数据被锁定,数据库服务器就保证其他程序不可修改它。当另一程序请求该数据时,数据库服务器或者让该程序等待,或者向它返回错误。

要控制锁定对您的数据访问的影响,请使用 SQL 语句的组合:SET LOCK MODE 与或者 SET ISOLATION 或者 SET TRANSACTION。在从程序内阅读关于游标的使用的讨论之后,您可了解这些语句的详细信息。在 SQL 编程通过 SQL 程序修改数据 中讨论游标。要获取关于锁定和并发的更多信息,请参阅 对多用户环境编程