我在Google App Engine工作,我们有一个Python脚本,可以在Google Cloud SQL中转储数据。我们必须转储的数据集之一是巨大的。我们每天转储大约 150K 行数据。
我知道谷歌云SQL不支持LOAD DATA INFILE
,我通常会使用。我的问题是,是否有LOAD DATA INFILE
的替代方案可以用来加快数据转储过程。
正常插入数据,无需LOAD DATA INFILE
,大约需要 5 分钟。
正如另一个问题的评论中所述,App Engine 支持LOAD DATA LOCAL INFILE
。
MySQL 手册解释了如何使用此语句。
您可以执行哪些操作来获得更好的批量导入性能:
- 创建.sql文件并执行导入
- 确保 insert 语句一次执行多行操作。 一个好的经验法则是每个插入一兆字节。
- 切换到异步复制
- 从应用引擎应用执行导入操作。 该应用将与云 SQL 实例共置,从而大大减少网络延迟。