Maison  >  Article  >  base de données  >  Mysql 锁粒度_MySQL

Mysql 锁粒度_MySQL

WBOY
WBOYoriginal
2016-05-30 17:10:101224parcourir

表锁:

 

表锁是mysql 中最几本的锁策略,并且是开销最小的策略:它会锁定整张表。

 

一个用户在对表进行锁操作(增,删,改)前,首先要获得写锁,这会阻塞其他用户对该表的所有读写操作。只有没有写锁时,其他用户才能获得读锁,读锁之间是不相互阻塞的。

 

在特定的场景中,表锁也可能有良好的性能。例如:READ  LOCAL 表锁支持某些类型的并发写操作。另外,写锁也比读锁有更高的优先级,因此,一个写锁的请求,可能会被插入到读锁队列的前面(写锁能插入到锁队列的前面,反之,读锁不能插入到写锁的前面);

 

尽管存储引擎可以管理自己的锁,Mysql本身还是会使用各种有效的锁来实现不同的目的。例如:服务器会为诸如 ALTER TABLE 之类的语句使用表锁,而忽略存储引擎的锁机制。

 

行级锁:

 

行级锁可以最大程度的支持并发处理(同时也带来最大锁开销)。众所周知,在InnoDB 和XtraDB 以及其他一些存储引擎中实现了行级锁。行级锁只在存储引擎层实现,而Mysql服务器层没有实现。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn