使用sql::Driver创建了几个数据库常连接,连接查询的结果不是最新的

[复制链接]
查看11 | 回复1 | 2021-1-27 06:56:27 | 显示全部楼层 |阅读模式
想做一个mysql数据库连接池,与数据库的连接是用sql::Driver来做的,连接一切正常,但是发现了一个严重的问题。
sql::Driver*driver=sql::get_driver_instance();
sql::Connection*con=driver->connect();
con->setAutoCommit(false);
sql::Statement*stmt=con->createStatement();
用其中一个连接对数据库做了一个修改的操作,已执行commit,用其它几个连接去查询该条记录,第一次这样操作结果是正确的,但是重复之前步骤,发现数据已成功修改,但是其余几个连接查询的结果还是第一次查询结果,并不是实时的数据。
出现这个问题是因为设置不对么,还是我的sql驱动版本问题,还是statement的用法不对,感觉每次查询都是取的缓存数据。。。

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:56:27 | 显示全部楼层
根据这两天查的资料和自己测试,出现这种情况的原因是因为查询结果集缓存导致的,但是不知道sql库有没有提供相关的设置是否进行查询结果集缓存的接口?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行