问题描述:
多线程的服务进行增删改查事务后,最后查询的数据不是最新的结果
技术栈:mysql python dbutils
分析解决:
由于多线程,数据库事务隔离,线程A无法查询到线程B提交的数据。
修改隔离级别为读已提交,在连接池加上setssion=["SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITED"]
完整的连接池:
pool = PersistentDB(MySQLdb,host="127.0.0.1", user="root", passwd="root",db="db", charset="utf8mb4", setssion=["SET NAMES utf8mb4","SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITED"])