加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL锁的知识点有什么

发布时间:2022-02-10 07:25:57 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下MySQL锁的知识点有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 锁的概念 ①、锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。 ②、
      小编给大家分享一下MySQL锁的知识点有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
 
锁的概念
 
①、锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。
 
②、在计算机中,是协调多个进程或线程并发访问某一资源的一种机制。
 
③、在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。
 
④、如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题。
 
⑤、锁的冲突也是影响数据库并发访问性能的一个重要因素。
 
MySQL锁的概述
 
      相对于其它数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking)。BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁。InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。
  
页级锁:页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁。表级锁速度快,但冲突多。行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。BDB支持页级锁。开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
 
从上述特点可见,很难笼统地说哪种锁更好,只能就具体应用的特点来说哪种锁更合适!!仅从锁的角度 来说:表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web应用。而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有 并发查询的应用,如一些在线事务处理(OLTP)系统。
 
举例说明
 
①、在购买商品时,商品库存只有1个的时候,两个人同时购买的时候,到底是谁买到的问题。
 
②、会用到事务,先从库存表中取出物品的数据,然后插入订单,付款后,插入付款表信息。
 
③、更新商品的数量,在这个过程中,使用锁可以对有限的资源进行保护,解决隔离和并发的矛盾。

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!