2012-12-11 66 views
4

我在Google App Engine中工作,我們有一個Python腳本可以在Google Cloud SQL中轉儲數據。我們必須拋棄的其中一個數據集非常龐大。我們每天一次轉儲大約150K行數據。Google Cloud SQL:替代LOAD DATA INFILE

我知道Google Cloud SQL不支持LOAD DATA INFILE,我通常會使用它。我的問題是,是否有替代LOAD DATA INFILE我可以用來加快數據轉儲的過程。

正常插入數據,無LOAD DATA INFILE,大約需要5分鐘。

+0

「通常插入數據」是什麼意思?通過google_sql.sh管道? –

+0

目前,我有一個Python腳本,它從數據集構造一個MySQL INSERT INTO查詢並執行它。 –

回答

1

事情可以做,以獲得更好的批量導入的性能:

  • 創建一個.sql文件和do an import
  • 確保插入語句做一次多行。一個好的經驗法則是每個INSERT一兆字節。
  • 切換到async replication
  • 從App Engine應用程序導入。該應用程序將與您的Cloud SQL實例共置,大大減少網絡延遲。
3

如本comment of another question所述,LOAD DATA LOCAL INFILE受App Engine支持。

MySQL Manual解釋如何使用此語句。

+0

鏈接的答案沒有提及'LOAD DATA LOCAL INFILE'。我想你想鏈接到相應問題的評論部分。 – honk

+0

謝謝。是的,那就是我想要的。有沒有辦法鏈接到評論。這將是可取的 – Tex

+0

我認爲你的答案現在是好的。但是,可以鏈接到評論:您可以通過右鍵單擊該評論的時間戳來訪問評論的鏈接。在上下文菜單中,然後選擇複製鏈接目標。 – honk