zoukankan      html  css  js  c++  java
  • Mysql事务与锁详解

    脏读:

     

    不可重复读:

     幻读:

     锁:

     

    表级别的意向锁为了提高效率,

    我们能给一张表成功加上一个表锁的前提是:没有任何一个事务对这张表的某些行加了锁。

    如果没有意向表锁:

    如果现在要给一个表加上表锁。

    如果这张表有一千万行数据,需要全表扫描行,是否有事务锁定了某行。

    如果一张表不使用索引,那么加一个排他锁会锁定整张表。

    会为每一行数据默认创建一个聚集索引,看起来好像锁定了整张表

    多我们使用唯一索引锁定了一行数据的时候,此时使用主键索引获取该行的锁时,依然失败。

     在innodb中因为二级索引底层存储的依然是主键索引。

    当我们使用范围查询的时候会加邻键锁 type=range

    所命中的行的 左开右闭 和下一个 左开右闭区间

    在innodb 推荐使用自增的id作为主键索引,在这种情况下 如果我们要去解决幻读的问题,一定要锁住下一个左开右闭区间      ?????

     

     

    如果没有命中索引扫描全表锁住整张表

  • 相关阅读:
    2013第51周四开放杂记
    2013第51周三杂记
    2013第51周二eclipse启动优化
    2013 第51周一纠错
    2013第50周日小结
    国内主流开放平台接口了解
    手机加密那点事儿_数值内存加密
    crontab,想说爱你不easy
    SIP基本呼叫
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/wangkaihua/p/10217490.html
Copyright © 2011-2022 走看看