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

2021 年 6 月 28 日
 0576coder

版本

mysql-connector-java 8.0.x

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

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

select @@session.tx_read_only

select @@session.transaction_read_only

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

1911 次点击
所在节点    Java
4 条回复
nullcoder
2021 年 6 月 28 日
很合理,他有它的道理
nullcoder
2021 年 6 月 28 日
但我可能解释不好
0576coder
2021 年 6 月 29 日
@nullcoder

为啥 这样还多了一次查询- - 虽然可以通过 useLocalSessionState 设为 true 让他不走这段逻辑
akira
2021 年 6 月 29 日
你是否有考虑过,用户的环境可能性有多少 稀奇古怪的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/786344

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX