我正在尝试找到一种方法来提高在Python中使用pandas将数据推送到MySQL数据库时的速度。
经过我的性能测试,我得出了与其他人相同的结论:将数据推送到 MySQL 数据库的最佳方法是使用 native 查询“LOAD DATA INFILE...”而不是 to_sql pandas 方法(甚至进行了诸如 this one 或 this one 之类的改进。
我的问题是,当我想推送数据时,它位于内存中。因此,为了使用 native MySQL 查询,我需要首先将其转储到磁盘上的文件中,然后使用“LOAD DATA...”查询。
所以我的问题是,有没有一种方法可以“模拟”写入磁盘上的文件,这样我就可以避免将大文件(200MB+)转储到上面?
转储大文件可能需要几分钟,所以我不想在那里浪费太多时间......
最佳答案
这种方法可能是一种可行的替代方案,无需接触磁盘(用于加载文件):
编写代码来创建多行 INSERT 语句并执行它们。一次建议 1000 行,并且 autocommit=ON。
关于python - 使用 python 中的虚拟文件改进 CSV 推送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54238851/