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

Mysql必读mysql中的锁、事务、并发控制的相关知识

发布时间:2020-12-12 02:25:42 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读mysql中的锁、事务、并发控制的相关知识》要点: 本文介绍了Mysql必读mysql中的锁、事务、并发控制的相关知识,希望对您有用。如果有疑问,可以联系我们。 导读:本节内容:mysql中的锁、事务、并发控制1、并发控制无论何时,只要不止一个查询同时

《Mysql必读mysql中的锁、事务、并发控制的相关知识》要点:
本文介绍了Mysql必读mysql中的锁、事务、并发控制的相关知识,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容:mysql中的锁、事务、并发控制1、并发控制无论何时,只要不止一个查询同时修改数据,都会发生并发控制问题--并发读和并发写.读锁...

MYSQL入门本节内容:
mysql中的锁、事务、并发控制

MYSQL入门1、并发控制
无论何时,都会产生并发控制问题--并发读和并发写.
读锁(Read Lock)/写锁(Write Lock)
锁系统是用于处理并发读或并发写时出现的数据纷歧致等问题.也称为共享锁(Share Lock)和排他锁(Exclusive Lock).

MYSQL入门锁的概念:
某一资源上的读锁是共享的,或者说是互不阻塞的.在同一时间,多个用户可以读取同一资源,而互不干扰.

MYSQL入门另一方面,写锁是排他的,一个写锁会阻塞其他的读锁和写锁,这是出于平安策略的考虑,在给定时间里,只有一个用户能写入资源,以防止用户在写操作的同时其他用户读取同一资源.

MYSQL入门对数据库来说,随时随地都会发生锁定.当某一用户修改某一部门数据时,MySQL会禁止其他用户读取同一数据.
大多数时候,MySQL都是以透明的方式实现锁的内部管理.

MYSQL入门每种MySQL存储引擎都可以实现独有的锁策略(Locking Policy)或锁粒度(Lock Granularitey).
在存储引擎设计中,锁管理(Lock Management)是个非常重要的议题.

MYSQL入门接下来,介绍两种最重要的锁策略.

MYSQL入门2、表锁(Table Lock)
MySQL支持大多数基本的锁策略,其中开销最小的锁策略是表锁.将给个表枷锁.当一个用户对表进行写操作时,用户可以获得一个写锁.写锁会禁止其他用户的读/写操作.

MYSQL入门另外,只有无人进行写操作时,用户能力获得读锁,读锁之间是互不冲突的.

MYSQL入门在特定的环境中,表锁可能性能良好.例如,READ LOCAL 表锁支持某种类型的并发写操作.
另外,写锁比读锁有更高的优先级,即使有读操作用户已排在队列中,一个被申请的写锁仍可以排列在锁队列的前列.

MYSQL入门虽然存储引擎管理自己的锁,MySQL自己也能使用各种有效的表锁,以用于各种目的.
例如,mysql数据库可以在语句中,如ALTER TABLE语句中,使用写锁,而不用考虑存储引擎.

MYSQL入门1)、行级锁(Row Locks)
行级锁可以支持最大的并发处理(同时也带来最大的锁开销).
支持引擎InnoDB等.行级锁是由存储引擎实现,而不是由MySQL服务器实现.
服务器完全不了解存储引擎里的锁实现方式.

MYSQL入门2)、事务
事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地数据库应用所有的查询语句,它就会执行所有查询,但是,如果任何一条查询语句因为瓦解或其他原因而无法执行,那么所有的语句就都不会执行.也就是说,事务内的语句要么全部执行,要么一句也不执行.

MYSQL入门3)、ACID测试

MYSQL入门原子性(Atomicity)
一个事务必需被视为一个单独的内部“不可分”的工作单元,以确保整个事务要么全部执行,要么全部回滚.
一致性(Consistency)

MYSQL入门隔离性(Isolation)
某个事务的成果只有在完成之后才对其他事务可见.
持久性(Durability)

欢迎参与《Mysql必读mysql中的锁、事务、并发控制的相关知识》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

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

    推荐文章
      热点阅读