如何防止pandas psql.read_sql_query获取缓存



我使用pandas 0.15.2并从mysql存储程序读取到数据帧中

import pandas.io.sql as psql
cnx= pymysql.connect( .. connection string ...)
df=psql.read_sql_query('call storedproc', con=cnx)

数据库非常活跃,经常有新数据,我意识到每当我重新运行上述语句将数据加载到我的数据帧中时,它都会返回上次查询的数据缓存。如果我再运行几次readsqlquery,它最终会被加载。我的问题是,确保它永远不会获得以前缓存的数据的正确方法是什么?

经过一些测试,我在连接参数中添加了autocommit=True,即使我只是在读,它也会停止获取缓存的结果。希望这能帮助其他人。

我使用MySQLDB进行连接,但不知何故con.autocommit = True不起作用。因此,每次读取后都会调用con.commit(),从而解决了问题。之后,每个查询都会得到最新的数据。

最新更新