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

时间:2015-04-03 19:28:20

标签: python pandas

我使用pandas 0.15.2并从mysql storageproc读取到dataframe

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我使用MySQLDB进行连接,不知何故con.autocommit = True无效。所以最后在每次阅读后调用con.commit()并修复了问题。之后,每个查询都会生成最新数据。