视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Mysql锁粒度_MySQL
2020-11-09 20:09:32 责编:小采
文档


表锁:

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

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

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

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

行级锁:

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

下载本文
显示全文
专题