2014-04-28 4 views
0

mysql 덤프 파일을 가지고 있는데 크기는 3.6MB입니다. 먼저이 터미널 명령을 사용하여 원격 서버로 가져 오기를 시도했습니다.MySQL의 명령 줄 가져 오기가 PhpMyAdmin보다 느린 이유

약 30 분 (실제로) 걸렸습니다.

그리고 원격 서버에서 PhpMyAdmin을 통해 동일한 파일을 가져 오려고 시도했으며 약 1.5 분 ()이 걸렸습니다. mysql 명령이 PhpMyAdmin보다 실제로 느린 이유를 말해 줄 수 있습니까? 이들은 3.6MB 파일을 upla하고 동일한 양의 SQL 쿼리를 실행합니다.

답변

1

지역 MySQL의 CLI 클라이언트 3.6의 파일을 전송하지 않습니다 MB. 대신 파일 내의 모든 단일 쿼리를 별도로 전송합니다. 따라서 네트워크 연결 및 서버 설정에 따라 네트워크 대기 시간이 훨씬 길어집니다. 단일 블록의 이진 데이터 스트리밍과 수천 개의 블록을 같은 볼륨에 추가하는 것의 차이점입니다.

+0

그래서 mysql cli가 덤프 파일을 단일 쿼리로 파싱하고 하나씩 서버로 보냅니다. – Eray

+1

mysql 클라이언트는 파일이 아닌 데이터베이스 서버에 대해 _queries_를 실행합니다. mysql 데이터베이스 서버에 파일을 공급하는 것은 불가능하다. 'phpmysqladmin'은 똑같은 일을하지만, 서버 측에서 로컬로 수행하기 때문에 파일을받은 후에 네트워크 대기 시간이 발생하지 않기 때문에이 특정 상황에서 훨씬 더 빠르게 작동 할 수 있습니다. – arkascha

+0

ssh를 사용하여 파일을 전송하고 서버 측 로컬 클라이언트 인 mysql 클라이언트로 전송하려고 할 수 있습니다. 아마 phpmyadmin 응용 프로그램을 능가 할 것입니다. – arkascha

1

은 네트워크 관련 문제가, 그냥은 거의 10 ~ 15 초 소요, 로컬 다음 가져 오기 MySQL 서버에 파일을 이동하고 있습니다 :

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

5 번 시도했습니다. 또한 나는 다른 웹 서버 (그것의 'uplaod 속도가 정말 좋다)에서 시도했지만 아무것도 바뀌지 않았다. 매번 약 30 분이 걸렸습니다. 또한 네트워크 관련 문제 인 경우 1.5 분에 서버에 어떻게 업로드 할 수 있습니까? – Eray