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.
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.
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.