zoukankan      html  css  js  c++  java
  • 表锁和行锁

    1  表锁需要维护的数量比行锁少,所以行锁所需的成本高。但对于同一个表的操作来说 比如先要在最后一行添加一行数据,然后再修改其他行的数据。这就得用行锁。所以说行锁和表锁不能说那个好那个不好,只能根据情况定。

    2 但是加了行锁 还得加意向锁 但是表锁不需要。  对于比较锁的快慢没有意义。应该比较的是不同粒度锁的情况下插入更新删除的速度。

    3  锁定对象的大小叫做锁的粒度。所对象可以是逻辑单元(如数据库,表,记录,列,索引) 也可以是物理单元(如数据页,索引页)。

      锁定的粒度 与系统的并发度和并发控制的开销密切相关。一般锁的粒度越大 ,锁定的对象就小,可选择性小,开销就笑 并发度就小。反之 粒度越小,对象就多 ,可选择性大,开销大 并发大。

    4 :所以在锁定粒度的同时应该考虑并发度 和开销,以求最优效果。一般需要处理大量记录的事物可以是表的锁定粒度。需要多个表中的大量记录的事物可以以数据库为锁定粒度。如果需要处理某个表中的少量记录则一记录为锁定粒度。

    5 多粒度锁协议是指,允许对多粒度树中的节点单独地加锁,另外对一个节点加锁意味着对这个节点的各个子节点也加同样的锁。

    因此可以用俩中方式对多粒度树中的节点加锁 :显式锁定和隐式锁定。显示锁定是在事物明确指定的节点上加锁。  隐式锁是由于在其上级节点中加显示锁时而使该节点获得锁。

    一般对一个节点加锁时,先检查该节点上是否有无显示锁定与之冲突,检查上级节点是否有无锁与之冲突。 检查下级 节点是否有无锁冲突。

  • 相关阅读:
    在bindingNavigator1中加入具有更好体验性的DateTimePicker
    static的初始化顺序 (转)
    C#数据结构求最大公约数和最小公倍数[辗转相除法]
    DataGridView控件显示行号
    C# 小票打印机 直接打印 无需驱动[转]
    Core Data 中遇到的一些问题
    字符指针不分配存储区,字符常量存储于静态数据区
    传送门
    Error Set
    实现类似iPhone通讯录新增名片,保存,之后可进行编辑操作的功能
  • 原文地址:https://www.cnblogs.com/yhl664123701/p/4691823.html
Copyright © 2011-2022 走看看