2014-04-28 88 views
0

我有一個mysql轉儲文件,它的大小爲3.6 MB。首先我試着用這個終端命令將它導入我的遠程服務器爲什麼Mysql命令行導入速度比PhpMyAdmin慢

mysql -hHOST -uUSER -p DBNAME < /path/of/backup.sql 

花了大約30分鐘(真的)。

然後我試着通過我的遠程服務器上的PhpMyAdmin導入相同的文件,並花了大約1.5分鐘。你能告訴我爲什麼mysql命令真的比PhpMyAdmin慢。他們都上傳3.6 MB文件,然後執行相同數量的SQL查詢。

回答

1

本地MySQL CLI客戶機不調的3.6文件MB。相反,它會分別傳輸文件內的每個查詢。這會導致更高的網絡延遲,具體取決於網絡連接和服務器設置。這是流式傳輸一個二進制數據塊和數千塊加起來相同的音量之間的區別。

+0

因此,mysql cli將轉儲文件解析爲單個查詢並逐個將其發送到服務器? – Eray

+1

mysql客戶端針對數據庫服務器運行_queries_,而不是文件。將文件提供給mysql數據庫服務器是不可能的。 'phpmysqladmin'也是如此,但它在服務器端本地執行,因此它在這種特定情況下可以更快地發揮作用,因爲它一旦收到文件就不會遇到任何網絡延遲。 – arkascha

+0

您可能想嘗試使用ssh傳輸文件並將其送入服務器端本地cli mysql客戶端。這可能會擊敗phpmyadmin應用程序。 – arkascha

1

它是網絡相關的問題,只需將您的文件MySQL服務器上,然後再導入當地,應採取幾乎沒有10〜15秒:

mysql -uroot -p dbname < /root/backup.sql 
+0

我試了5次。此外,我已經嘗試從一個不同的Web服務器(其'上行速度非常好),但沒有任何改變。每次花費大約30分鐘。另外如果是網絡相關的問題,它如何在1.5分鐘時上傳到服務器? – Eray

相關問題