数据库

 首页 > 数据库 > MySql > 什么是锁升级

什么是锁升级

分享到:
【字体:
导读:
         摘要:什么是锁升级 ...

什么是锁升级
    常常听到DBA在谈论各种数据库时,都会提到一个词语:锁升级。
    那么,什么是锁升级呢?它的作用又是什么呢?在什么情况下会出现锁升级呢?
    锁升级,就是将众多细粒度锁转换为较少的粗粒度的锁以削减系统开销的进程。假如行锁是有开销的,那对1行加锁可能没问题,但对1万行加锁,那对系统开销就很大了,此时,数据库就会将其升级为表锁,以减少开销。

 
    在网上摘抄的一个例子,当事务从表中请求行时,SQL Server 自动获取受影响的行上的锁,并在包含这些行的页和表或者索引上放置更高级别的意向锁。当事务控制的锁数量超过了它的极限时,SQL Server 会试图将表上的意向锁更改为更强的锁(例如,将意向排它 (IX) 锁更改为排它 (X) 锁)。获取更强的锁后,表事务持有的所有页级锁和行级锁都被释放,从而削减锁的开销。
什么是锁升级
分享到:
current_schema参数的用途
current_schema参数的用途用户A包含表TBL,如果用户A将TBL的访问权限给用户B(grant select any table to B),则在用户B中要想引用用户A的表,不使用同义词,则需要用select * from A.TBL; 之所以这里需要使用A.TBL的格式,是因为TBL表属于用户A的schema,做个比喻,schema(译文方案)好比一个容器,存放的是一系列数据库对...
Truncate Delete Drop命令的区别 .
Truncate Delete Drop命令的区别 .truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. 从删除内容上区分:   truncate和 delete只删除数据不删除表的结构(定义)    drop语句将删除表的结构、被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为in...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……