› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
symons
V2EX  ›  MySQL

大家在使用 MySQL 的时候,使用过除 REPEATABLE READ 之外的级别嘛?

  •  
  •   symons ·
    symons1992 · Jun 1, 2021 · 3488 views
    This topic created in 1943 days ago, the information mentioned may be changed or developed.

    既然 MySQL 有四个隔离级别,那其他三个隔离级别现在会有人在用吗?

    • READ UNCOMMITED
    • READ COMMITTED
    • SERIALIZABLE

    如果没有人用,那他们存在的意义在哪里呢?求问

    11 replies  •  2021-06-03 17:31:38 +08:00
    aircjm
        1
    aircjm  
       Jun 1, 2021 via Android
    这个看你使用场景啊 有的比较严苛的场景会使用更高的隔离级别
    symons
        2
    symons  
    OP
       Jun 1, 2021
    银行 /钱包的场景应该是比较严苛的,但是也不用最高级别( SERIALIZABLE ),用 REPEATABLE READ 完全可以,很难想象出来(没见过) READ UNCOMMITED 和 SERIALIZABLE 这俩级别在哪里会用到

    对于 READ UNCOMMITED 的话,读非常多,写非常少这种场景可能会用到,不过如果这种场景,在 MySQL 前加一个缓存不是也能解决吗?
    对于 SERIALIZABLE 这个级别,真的比较难想象,哪里会用到,太严格了
    quiet1991
        3
    quiet1991  
       Jun 1, 2021   ❤️ 1
    确实没碰到用其他 3 种隔离级别的情况
    zjqzxc
        4
    zjqzxc  
       Jun 1, 2021
    READ UNCOMMITED 用的多,统计数据又没有离线库可以用的时候,可以降低到这个隔离级别避免锁表影响线上业务
    fkdog
        5
    fkdog  
       Jun 1, 2021
    mysql 默认是 RR 级别。
    对于读多得应用降一级成 RC 也是可以得。
    RU 应该没人用吧。。?
    Steve08
        6
    Steve08  
       Jun 1, 2021
    不是说 mysql 的可重复读也可以达到可串行化的效果吗
    ericls
        7
    ericls  
       Jun 1, 2021 via iPhone
    只用过 read committed 场景不同
    Leviathann
        8
    Leviathann  
       Jun 1, 2021 via iPhone
    @qiyue0726 嗯 加写锁的话可以突破快照的镜像
    chenshun00
        9
    chenshun00  
       Jun 2, 2021
    默认用的是 rc
    symons
        10
    symons  
    OP
       Jun 3, 2021
    从我之前的工作经验来看,没遇见过有需要调整隔离级别的情况,更多的是从缓存上做文章,区分主库,从库,离线库这样子。所以很奇怪,但是从存在即正确的角度来看,也想不出来场景。
    另外现在面试的时候,大多数都会问数据库的四种隔离级别,如果其他三种使用频率很低的话,问完了又有什么用呢,在在日常工作中根本不用用到,在规模较大的公司有专门的 DBA 来管理数据库,研发是碰不到数据库资源的。
    我把问题抛出来,如果有人遇见了这个问题,请不吝赐教。
    quiet1991
        11
    quiet1991  
       Jun 3, 2021
    其实感觉其他三种只是为了理论完整以及特殊情况下而搞出来的, [业务系统] 本身就是 [强事务] 系统,如果是 [统计、报表、OLAP 之类] 的需求,本身就不需要事务,那就没必要用事务。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   881 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:14 · PVG 06:14 · LAX 15:14 · JFK 18:14
    ♥ Do have faith in what you're doing.