• 1.首家专业真正意义的悬赏问答赚钱网站!
  • 2.我们相信:重金之下必有勇者,钱能促进回答!
  • 3.购买答案别害怕,网站有担保,不满意可退款,拒绝恶意操作!
  • 4.回答售出就有收益,永久不限次数为您持续产生收益!
  • 5.提问也可以赚钱了,提问所属答案被购买确认,也可产生收益!
  • 6.收益计量都是不限次数、时间、地点,真正意义上的摇钱树!
  • 7.购买者是提问者本人,回答者享有百分百收益!
  • 8.自问自答模式已开启!经验/文章博客/聊天记录变问答赚钱!
    未登录
    当前位置: 首页 在线答疑 综合其他 问题详情

    请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

    • 提问人:151*****502
    • 问者自答:是
    • 浏览次数:562
    • 所属领域: 就算计
    期望20.00金币,托管 0.00金币
    • 发布时间 2018-01-19 09:55
    • 期望完成时间 2018-01-26
    • 首次回答(共1个回答) 2018-01-19 09:56
    • 首次成交(共0笔成交)
    • 永无止息 预计2元成交金额

    手机号码为151*****502的用户, 现在她通过我站悬赏问答网发布了一个紧急帮助信息,标题是:【请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?】,具体需求内容是【请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的...】,但是由于本站人力物力有限,由于其问题太过于专业性太强,也或者是我们根本无暇顾及该用户的具体需求,导致本站根本无法为该用户提供最有效的服务。现在她(他)通过本站悬赏问答网平台发布了这一需求,希望有能人之士能够帮他解决这一个问题,并愿意付出2元作为报酬,不甚感激。

    如果您觉得这个提问很好,可以点击左方的按钮进行推广,支持微信,短信和邮件推广。

    注:2元只是象征性的价格标示,不代表实际成交价格,实际成交价格以能回答之人的定价为准。如果答案确实好,并且列出了一部分可信的免费内容(足以让购买回答答案者用户放心购买),则您可以放心购买。如果通过本站购买产生了交易纠纷,本站愿意承担一切线上交易的成交财务风险(限定在悬赏以后发生的购买金额范围以内,不承担线下交易的人身风险以及财务风险等任何风险)。

    如果你无法确定或者不知道回答的内容是不是你想要的,可以在线咨询回答者以确定具体情况,根据具体情况请回答者做必要的修改或者补充。 如果确实已经发生了交易纠纷,您可以联系本站 仲裁处理

    提问详情

    请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

    显示全部
    我来回答 注:回答售价不受提问人的期望和托管资金影响,您可以按照自己的意愿定价。 订阅 收藏
    加入备选
    151*****502 151*****502 2018-01-19 09:56:22

    SQL标准定义的四个隔离级别为:
    read uncommited:读取未提交内容
    read committed:读取提交内容
    repeatable read:可重读
    serializable:可串行化
    详细解释如下:
    Read Uncommitted(读取未提交内容)
    在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。
    Read Committed(读取提交内容)
    这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。
    Repeatable Read(可重读)
    这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读(Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control 间隙锁)机制解决了该问题。注:其实多版本只是解决不可重复读问题,而加上间隙锁(也就是它这里所谓的并发控制)才解决了幻读问题。
    Serializable(可串行化)
    这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。
    对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:
    1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。
    2、非重复读(nonrepeatable read):在同一个事务中,同一个查询在T1时间读取某一行,在T2时间重新读取这一行时候,这一行的数据已经发生修改,可能被更新了(update),也可能被删除了(delete)。
    3、幻像读(phantom read):在同一事务中,同一查询多次进行时候,由于其他插入操作(insert)的事务提交,导致每次返回不同的结果集。

    展开阅读全文
    0 ID:516 0人购买 0人评价 好评率:0%
    返回顶部 联系客服 消息中心0