mysql中隔离级别和锁有什么关系

数据库事务的隔离级别有4个。由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable。这四个级别能够逐个解决脏读、不可反复读、幻读这几类问题。MySql设置的隔离级别默觉得Repeatable Read。可反复读级别。

一、事务的4个基本特征

Atomic(原子性):
事务中包括的操作被看做一个逻辑单元。这个逻辑单元中的操作要
么所有成功。要么所有失败。

Consistency(一致性):
仅仅有合法的数据能够被写入数据库,否则事务应该将其回滚到最初
状态。

Isolation(隔离性):
事务同意多个用户对同一个数据进行并发訪问,而不破坏数据的正
确性和完整性。同一时候。并行事务的改动必须与其它并行事务的改动
相互独立。

Durability(持久性):
事务结束后。事务处理的结果必须可以得到固化。

二、数据库隔离级别

数据库事务的隔离级别有4个。由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable。这四个级别能够逐个解决脏读、不可反复读、幻读这几类问题。MySql设置的隔离级别默觉得Repeatable Read。可反复读级别。

隔离级别能够配置。

三、锁

一次封锁or两段锁?

由于有大量的并发訪问,为了预防死锁。一般应用中推荐使用一次封锁法。就是在方法的開始阶段。已经预先知道会用到哪些数据,然后所有锁住,在方法执行之后,再所有解锁。

这样的方式能够有效的避免循环死锁,但在数据库中却不适用,由于在事务開始阶段,数据库并不知道会用到哪些数据。
数据库遵循的是两段锁协议,将事务分成两个阶段,加锁阶段和解锁阶段(所以叫两段锁)

加锁阶段:在该阶段能够进行加锁操作。在对不论什么数据进行读操作之前要申请并获得S锁(共享锁,其他事务能够继续加共享锁,但不能加排它锁),在进行写操作之前要申请并获得X锁(排它锁,其他事务不能再获得不论什么锁)。加锁不成功,则事务进入等待状态,直到加锁成功才继续运行。
解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段。在该阶段仅仅能进行解锁操作不能再进行加锁操作。

延伸阅读

什么是Java

Java 是一个通用术语,用于表示 Java 软件及其组件,包括“Java 运行时环境 (JRE)”、“Java 虚拟机 (JVM)”以及“插件”。

Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的形式和感觉,但它要比C++语言更易于使用,而且在编程时彻底采用了一种以对象为导向的方式。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

文章标题:mysql中隔离级别和锁有什么关系,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/54031

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年6月7日 下午6:28
下一篇 2023年6月7日

相关推荐

  • 梦见编程什么叫编程

    梦见编程意味着创造性的思维、解决问题的能力、以及可能的职业倾向。这通常象征着你在现实生活中对逻辑、结构和创新的渴求。特别地,这能反映出一个人在面对挑战时的思考模式。例如,梦中编程常常象征着找到解决问题的新方式,或者透过创意和细心规划来克服障碍。 这种梦可能表明在清醒状态下,您可能正在尝试编排生活中的…

    2024年4月30日
    2700
  • 编程id是什么

    编程ID是一个独一无二的标识符,用于在开发过程中唯一地标识一个程序元素,如变量、函数、类等。编程ID的设计原则之一便是保证在同一作用范围内的标识符的唯一性,从而避免命名冲突与混淆。这有助于简化代码的理解和维护。例如,在一个大型软件项目中,开发者可能需要创建数千个函数和变量。为每一个元素赋予独特的编程…

    2024年5月1日
    3100
  • 研究生用什么编程软件好

    ABSTRACT When it comes to selecting the best programming software for graduate students, 1、 INTEGRATED DEVELOPMENT ENVIRONMENTS (IDEs), 2、 DATA ANALYS…

    2024年4月27日
    3300
  • 数控编程类似的书有什么

    数控编程领域内,值得推荐的书籍主要包括1、《数控编程与操作》2、《现代数控技术基础》3、《数控加工技术》以及4、《数控机床编程与操作》。对于这些书籍中的《数控编程与操作》,该书深入浅出地介绍了数控编程的基础理论、操作技能以及工艺规划,旨在帮助读者系统掌握数控编程的核心知识和技能,非常适合初学者以及希…

    2024年4月27日
    4600
  • 儿童编程小学生是什么课程

    儿童编程课程是一种专为小学生设计的教学活动,意在培养孩子们的计算思维以及解决问题的能力。通过学习编程语言和技能,小学生能够创造性地表达自己的想法,并能在数字世界中更加自信地导航。特别是在这个以技术为驱动的时代,儿童编程教育被视为一项重要的基础教育。本文将深度探讨儿童编程课程的结构、目标以及它对于孩子…

    2024年4月27日
    4700
  • sas编程是什么

    SAS编程是一种专业的编程语言,被广泛应用于数据分析、生物统计以及商业智能等领域。它使用户能够有效地处理大型数据集、进行复杂的分析计算并生成直观的报表。其中,数据分析的能力尤为突出,这一点是SAS编程语言在众多编程语言中脱颖而出的关键因素。这门语言不仅支持多种数据格式的输入和输出,还提供了丰富的统计…

    2024年5月2日
    2800
  • 编程的意思是编程吗为什么

    编程确实意味着编程,其中最为核心的理由包括3点:1、它是一种创造性过程,2、涉及解决问题的一系列步骤,3、需要使用特定的编程语言进行沟通。 编程不仅仅是向计算机输入代码;它更是一种艺术,涉及到将复杂问题简化,并创造出有效的解决方案。特别是,编程使得个人能够通过编写和执行代码来创建软件、应用程序或网站…

    2024年5月1日
    2800
  • 编程属于什么教育

    编程是STEM教育的重要组成部分,它包括1、科学、2、技术、3、工程和4、数学。 在这些领域中,编程扮演着至关重要的角色,因为不仅支持科学和数学的理论部分,而且是技术和工程实践不可或缺的技能。 以编程在工程学中的应用为例,它使得设计和构建复杂系统成为可能。工程师利用编程创建模拟软件来测试他们的设计,…

    2024年5月2日
    1700
  • 爱编程少儿编程小程序是什么

    爱编程少儿编程小程序是一款旨在通过有趣的方式来教授孩子们编程知识的应用程序。小程序通过游戏化教学、视觉编程语言和互动课程来降低学习难度,启发儿童的编程兴趣和逻辑思维能力。 其中一个明显的优势是它的可访问性—作为小程序,它不需要在设备上进行复杂的安装过程。用户只需要在自己的智能手机或平板电脑上即可快速…

    2024年5月1日
    2700
  • 什么是mt4编程

    MT4编程是指使用MQL4语言(MetaQuotes Language 4)来创建在MetaTrader 4平台上运行的自动交易策略、脚本和技术指标。 MT4编程允许交易者定制自己的交易机器人(即Expert Advisors或EAs),以实现24/7自动交易、市场分析和管理订单。这种编程语言与C语…

    2024年4月26日
    4600

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部