隔离级别
CS
游标稳 定性 (Cursor Stability - CS):对于事务访问的行,只要游标定位在该行上,就锁定该行。此锁定在访存下一行或事务终止之前一直有效。但是,如果更改了某一行上的任何数据,则在对 数据库落实更改之前必须挂起该锁定。因此,在同一个工作单元内发出了两次的查询可能不会返回相同的结果。
UR
未落实的读 (Uncommitted Read - UR) :应用程序可以访问其他事务的未落实更改。除非其他应用程序尝试删除或改变该表,否则该应用程序也不会锁定正读取的行而使其他应用程序不能访问该行。此隔离级别通常用于对只读表执行的查询。
锁
锁的持续时间会根据隔离级别而有所不同:
UR 扫描:除非行数据正在进行更改,否则不挂起行锁定。
CS 扫描:仅当游标定位在行上时,才挂起行锁定。
RS 扫描:事务期间只挂起符合查询条件的行锁定。
RR 扫描:事务期间挂起所有行锁定。
锁状态(mode)
IN: 无意向
IS: 意向共享
NS: 下一键共享
S: 共享
IX: 意向互斥
SIX:在意向互斥下共享
U: 更新
NW: 下一键弱互斥
X: 互斥
W: 弱互斥
Z: 超级互斥
锁 兼容:在一个应用程序当前拥有对某个对象的锁定,而另一个应用程序请求对同一个对象的锁定时,就会出现锁定兼容性问题。当两种锁定方式兼容时,可以同意对 该对象的第二个锁定请求。如果请求的锁定的锁定方式与已挂起的锁定不兼容,则不能同意锁定请求。相反,请求要等到第一个应用程序释放其锁定,并且释放所有 其他现有不兼容锁定为止。
来源链接:https://blog.csdn.net/hcom/article/details/83364168