存储MySql查询结果以便更快地重用

时间:2017-04-04 15:48:26

标签: python mysql database pandas

我在python中对来自MySql数据库的数据进行分析。我在数据库中查询大约200,000行数据,然后使用Pandas在python中进行分析。我经常会对相同的数据进行多次迭代,改变不同的变量,参数等。每次运行程序时,我都会查询远程数据库(大约10秒查询),然后在程序完成时丢弃查询结果。我想将最后一个查询的结果保存在本地文件中,然后检查每次运行程序以查看查询是否相同,然后只使用保存的结果。我想我可以把Pandas数据帧写成csv,但有更好/更容易/更快的方法吗?

2 个答案:

答案 0 :(得分:0)

如果由于任何原因MySQL Query Cache没有帮助,那么我建议以HDF5格式或羽毛格式保存最新的结果集。两种格式都非常快。你可以在这里找到一些演示和测试:

https://stackoverflow.com/a/37929007/5741205

https://stackoverflow.com/a/42750132/5741205

https://stackoverflow.com/a/42022053/5741205

答案 1 :(得分:0)

只需使用pickle将数据帧写入文件,然后将其读回(“unpickle”)。

https://docs.python.org/3/library/pickle.html

这将是“简单的方法”。