11.5.2 锁作用域
您可将锁应用于整个数据库、整个表、磁盘页、单个行或索引键值。正被锁定的对象的大
小称之为锁的作用域(也称为锁颗粒度)。通常,锁的作用域越大,并发降得越低,但编
程越简单。
数据库锁
您可锁定整个数据库。打开数据库的操作在数据库的名称上放置一共享锁。使用
CONNECT、DATABASE 或 CREATE DATABASE 语句打开数据库。只要程序有一数据
库是打开的,则该名称上的共享锁防止任何其他程序删除该数据库或在其上放置排他锁。
下列语句展示您可能如何排他地锁定整个数据库:
DATABASE database_one EXCLUSIVE
如果没有其他程序已打开了那个数据库,则此语句成功。放置该锁之后,其他程序不可打
开该数据库,即使是读取也不可,因为它在该数据库名称上放置共享锁的尝试会失败。
仅当关闭该数据库时,才释放数据库锁。可使用 DISCONNECT 或 CLOSE DATABASE 语
句来显式地执行那个操作,或通过执行另一 DATABASE 语句来隐式地执行。
由于锁定数据库导致那个数据库中的并发降低为零,因此,它使得编程非常简单;不可发
生并发效果。然而,仅当其他程序不需要访问时,才应锁定数据库。在非高峰期间,对数
据进行大量更改之前,通常使用数据库锁定。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




