Google Cloud SQL: Alternative to LOAD DATA INFILE

2019-02-24 05:26发布

问题:

I am working in Google App Engine and we have a Python script that dumps data in Google Cloud SQL. One of the data sets we have to dump is huge. We dump around 150K rows of data once a day daily.

I know Google Cloud SQL does not support LOAD DATA INFILE, which I would have normally used. My question is, whether there is an alternative to LOAD DATA INFILE that I can use to speed up the process of data dumping.

Inserting the data normally, without LOAD DATA INFILE, takes about 5 minutes.

回答1:

As stated in this comment of another question, LOAD DATA LOCAL INFILE is supported by App Engine.

The MySQL Manual explains on how to use this statement.



回答2:

Things you can do to get better bulk import performance:

  • Create a .sql file and do an import
  • Make sure that the insert statements do more than one row at a time. A good rule of thumb is one megabyte per INSERT.
  • Switch to async replication
  • Do the import from an App Engine app. The app will be colocated with your Cloud SQL instance, greatly reducing the network latency.