MySQL表级锁,行级锁,页级锁各显神通

数据库 MySQL
我们今天主要向大家描述的是MySQL表级锁与MySQL行级锁或者是MySQL页级锁这三中锁的不同之处,以及前者要优于后两者的表现。

以下的文章主要讲述的是MySQL表级锁与MySQL行级锁或者是MySQL页级锁这三者之间的不同之处以及表级锁与其他两种锁的优越性的表现,以下就是文章的具体内容的描述,望你会有所收获。

MySQL表级锁和行级锁或页级锁之间的不同之处还在于:

将同时有一个写和多个读的地方做版本(例如在MySQL中的并发插入)。也就是说,数据库/表支持根据开始访问数据时间点的不同支持各种不同的试图。其它名有:时间行程,写复制,或者是按需复制。

按需复制在很多情况下比页级锁或行级锁好多了。尽管如此,最坏情况时还是比其它正常锁使用了更多的内存。

可以用应用程序级锁来代替行级锁,例如MySQL中的 GET_LOCK() 和 RELEASE_LOCK()。但它们是劝告锁(原文:These are advisory locks),因此只能用于安全可信的应用程序中。

MySQL表级锁在下列几种情况下比页级锁和行级锁更优越:

很多操作都是读表。

在严格条件的索引上读取和更新,当更新或者删除可以用单独的索引来读取得到时:

  1. UPDATE tbl_name SET column=value WHERE unique_key_col=key_value;   
  2. DELETE FROM tbl_name WHERE unique_key_col=key_value;  

SELECT 和 INSERT 语句并发的执行,但是只有很少的 UPDATE 和 DELETE 语句。

很多的扫描表和对全表的 GROUP BY 操作,但是没有任何写表。
 

MySQL表级锁和

以上的相关内容就是对MySQL表级锁和行级锁或页级锁之间的关系的介绍,望你能有所收获。

【编辑推荐】

  1. MySQL SHOW INDEX语法的实际应用
  2. MySQL数据库中常用的应用技巧有哪些?
  3. MySQL MyISAM引擎和InnoDB引擎的性能测试
  4. MySQL存储引擎InnoDB与MyISAM的差别
  5. MySQL存储引擎中InnoDB与MyISAM的不同之处
责任编辑:佚名 来源: 博客园
相关推荐

2022-10-24 00:33:59

MySQL全局锁行级锁

2020-02-06 10:02:45

MySQL数据库全局锁

2010-10-15 14:10:56

Mysql行级锁

2010-11-22 14:42:13

MySQL行级锁

2021-07-07 10:45:20

MySQL表级锁MyISAM

2010-04-19 09:52:24

Oracle行级锁

2023-11-06 08:35:08

表锁行锁间隙锁

2020-10-20 13:50:47

MySQL数据库

2018-07-31 10:10:06

MySQLInnoDB死锁

2020-02-24 21:43:36

avaJVM 级锁线程安全

2024-03-04 00:01:00

锁表锁行MySQL

2022-07-20 08:06:57

MySQL表锁Innodb

2022-11-11 15:49:41

MySQL隔离

2018-05-29 11:44:22

数据库MySQL死锁

2010-11-22 14:27:05

MySQL锁表

2022-11-17 09:14:58

MySQL加行级锁幻读

2022-12-27 17:40:57

意向锁MySQLInnoDB

2023-03-07 08:51:53

分布式续期

2019-01-04 11:18:35

独享锁共享锁非公平锁

2019-11-28 16:00:06

重入锁读写锁乐观锁
点赞
收藏

51CTO技术栈公众号