Mysql

PHPMyAdmin 插入速度很慢

  • July 13, 2016

我試圖通過 phpmyadmin 向 mysql 數據庫插入大約 70K 條記錄,但對它的速度有多慢感到震驚。大約花了5個小時完成!

請在下面找到表/數據庫的詳細資訊:

  • 我只能訪問 PHPMyAdmin 和 FTP。所以很遺憾,我不能使用 SSH 上傳數據。
  • 我只上傳到一張有 8 列的表。沒有外鍵或任何類型的計算列。不屬於查詢的主鍵只有一個自動增量
  • 我檢查了狀態選項卡,沒有鎖定或在該表上執行查詢導致執行緩慢。
  • 一些值是阿拉伯語 (UTF8)

我嘗試了以下方法來上傳數據:

  • 通過 SQL 選項卡分離插入查詢:非常慢,需要 5 個小時。它給出了 500 錯誤,但它繼續上傳數據並且沒有停止。
  • 通過 SQL 選項卡連接插入查詢$$ e.g. (record1),(record2),(record3) $$: 需要很長時間,而且令人驚訝的是沒有向數據庫添加任何內容。也沒有錯誤。
  • 導入選項卡:執行時間錯誤
  • 通過 PHP:記憶體已超出,無權增加記憶體,因為伺服器不受我的控制

插入查詢很簡單

INSERT INTO mytable (`col1`,`col2`,`col3`,`col4`,`col5`,`col6`,`col7`,`col8`)values(1,100,10,'val1','val2','val3','val4','val5');

我想盡快上傳數據,因為我只有 5 分鐘的時間向客戶提供這些數據。盡可能快地進行批量插入的任何方式。也歡迎可以通過 FTP 添加的 phpmyadmin 替代品。

該表可能是 ENGINE=InnoDB。預設可能是在每次 INSERT 後送出事務。您似乎一次插入一行。輸入文件是一個列表INSERTs嗎?它從哪裡來的?如果它來自 mysqldump,請使用執行多行插入的選項重新執行轉儲。如果數據只是文本,請安排使用LOAD DATA.

你能從另一台伺服器連接到mysql嗎?這樣你就不會局限於 phpmyadmin。等等。

檢查阿拉伯語。非英文字元會給很多人帶來麻煩。如果它們被損壞,您可能需要在更改某些內容後重新載入。

引用自:https://dba.stackexchange.com/questions/143482