我使用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几次,它最终会被加载。 我的问题是什么是确保它永远不会获得以前缓存数据的正确方法?
答案 0 :(得分:2)
经过一些测试后,我在连接参数中添加了autocommit = True,即使我只是在读取,它也会停止获取缓存的结果集。希望这有助于他人。
答案 1 :(得分:1)
我使用MySQLDB进行连接,不知何故con.autocommit = True
无效。所以最后在每次阅读后调用con.commit()
并修复了问题。之后,每个查询都会生成最新数据。