问题
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.
来源:https://stackoverflow.com/questions/13814775/google-cloud-sql-alternative-to-load-data-infile