zoukankan      html  css  js  c++  java
  • 事务和锁--查看数据库中的锁

    数据库加锁是修改哪一条加锁,还是在页上加锁,还是在表上加锁,数据库来决定

    如果你更改的是两条记录,就在两条记录上加锁,如果你更改的是很多条,这个时候数据库一看一条一条加锁太麻烦,给整个页加锁更省事,或者给整个表加锁更加省事

    加锁的级别越大,数据库越省事,数据库越省事,并发性越差,修改一条记录如果给表加上独占锁,那么想查询别的记录都查询不了了

    加锁的对象越小,并发性越好

    加的锁对象越大,并发性越差

    刚开始就这几个锁

     

    1、开启事务修改学生的名字,给学号为0000000001的学生姓名加个‘_01’,事务不提交

     

    2、看到给Student表上的这1行加了独占锁
    ObjId:2105058535表示是Student这张表
    Type:RID表示是行标识
    Resource:1:567:0,表示是第1个数据文件的第576页的第1行
    Mode:X表示独占锁

    所以如下图查询学号为0000000001的学生,因为这行数据加了独占锁,所以一直查询不出来

    但是如下图查询学号不为0000000001的学生,就可以查询出来数据了,因为其他行并没有锁

    3、开启事务修改学生的名字,给学号对2取余等于0的这1批学生姓名加个_01,事务不提交

    4、看到给Student表加了独占锁
    ObjId:2105058535表示是Student这张表
    Type:TAB表示是表
    Mode:X表示独占锁

     如下图查询学号不为0000000001的学生或者查询任何数据,因为这个表加了独占锁,所以都不会查询出来

  • 相关阅读:
    winform中文本框添加拖拽功能
    jQuery返回顶部代码
    判断IP地址是否在指定范围内的方法
    jQuery提示通知插件jBox
    Windows 8.1 SecureBoot未正确配置的解决方法
    操作系统下载
    js中(function(){…})()立即执行函数写法理解
    。net MVC 序列化 反序列化
    js点击button按钮跳转到页面代码
    单例模式
  • 原文地址:https://www.cnblogs.com/augustuss/p/14111917.html
Copyright © 2011-2022 走看看