Database 版 (精华区)

发信人: mm (绿色的梦), 信区: Database
标  题: 数据库技术讲座(七)-----并发处理(4)
发信站: 紫丁香 (Sat Oct 25 18:51:34 1997)


  2 表级锁
    表级锁有以下所示的三类:
      * INTENT:当表中存在页级的排它锁和共享锁时,在表上加意向锁。
        在所有的页级锁释放后,意向锁随着释放。
      * SHARED:在读操作时加共享锁。在缺省状态下,在读操作完成后
        释放共享锁。
      * EXCLUSIVE:在更新操作时加排它锁。在缺省状态下,在事务完成
        后释放排它锁。
  3 请求锁
    请求锁用以防止共享锁一个接一个无休止地加在表上,从而写事务(
要加排它锁)无法进行。
  4 SYBASE的封锁级别
    在SYBASE根据ANSI标准定义事务的封锁级别:
    (1) 级别1:脏读
    (2) 级别2:不可重复读
    (3) 光标带来的当前值混乱
    SYBASE的缺省一致性级别为1。如果要达到一致性级别2和3,必须使用
HOLDLOCK关键字把共享锁持续到事务的结束。方法如下:
      SELECT * FROM AUTHS HOLDLOCK
        WHERE AUTHOR_CODE='A00001'
    SYBASE还可以通过T-SQL的SET命令改变SYBASE的一致性级别,从而使
SYBASE自动在SELECT语句中加HOLDLOCK关键字:
      SET TRANSACTION ISOLATION LEVEL 3
  5 在SYBASE中提高并发效率的方法
      * 避免在表中特定的页上多个用户过多的封锁。
      * 避免在人机交互的应用中定义事务,这样会使某个用户长时间封锁
        住表(如去接电话),使其他用户持续等待。
      * 使事务尽量的短。
      * 仅当必要时才使用HOLDLOCK关键字。
      * 在事务中封锁表的次序应该一致,这样可避免死锁。

--
                _/     _/        _/     _/
               _/_/ _/_/        _/_/ _/_/
              _/  _/ _/        _/  _/ _/
             _/     _/        _/     _/
            _/     _/        _/     _/         

※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: space.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.530毫秒