V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0576coder
V2EX  ›  Java

关于 mysql-connector- Java 在执行 insert 跟 update 之前都要去读取一下数据库是否 read only 这合理吗?

  •  
  •   0576coder · 2021-06-28 22:38:32 +08:00 · 1337 次点击
    这是一个创建于 1003 天前的主题,其中的信息可能已经有所发展或是发生改变。

    版本

    mysql-connector-java 8.0.x

    问题 执行 insert 或者 update 的时候都回去判断数据库是否只读,手动查看源码在这里

    这里就是判断了数据库版本版本 然后根据版本不同去

    select @@session.tx_read_only

    select @@session.transaction_read_only

    虽然这样做很严谨 但是我感觉读写分离之类的应该在数据库中间件或者手动指定库来区别,为什么要多次一举这么设计

    4 条回复    2021-06-29 02:29:23 +08:00
    nullcoder
        1
    nullcoder  
       2021-06-28 23:51:21 +08:00 via Android
    很合理,他有它的道理
    nullcoder
        2
    nullcoder  
       2021-06-28 23:51:33 +08:00 via Android
    但我可能解释不好
    0576coder
        3
    0576coder  
    OP
       2021-06-29 00:12:16 +08:00
    @nullcoder

    为啥 这样还多了一次查询- - 虽然可以通过 useLocalSessionState 设为 true 让他不走这段逻辑
    akira
        4
    akira  
       2021-06-29 02:29:23 +08:00   ❤️ 1
    你是否有考虑过,用户的环境可能性有多少 稀奇古怪的情况
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3212 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:07 · PVG 21:07 · LAX 06:07 · JFK 09:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.