SQL 가져오기 속도가 느린 이유는 무엇입니까?
저는 약 600,000개의 행이 있는 두 개의 테이블이 포함된 SQL 파일을 가지고 있습니다.어제 페도라 16에 있는 MySQL 데이터베이스로 파일을 가져오려고 했는데 파일을 가져오는데 2시간이 넘게 걸렸습니다.Windows PC에서는 7분이 걸렸습니다.내 Linux 및 Windows 컴퓨터의 하드웨어는 정확히 동일합니다.제 친구 몇 명도 해봤는데 비슷한 경험을 했어요.
우리가 사용한 명령은 다음과 같습니다.mysql -u root database_name < sql_file.sql
.
왜 이렇게 속도 차이가 나는 거지?
Fedora 16은 트랜잭션/동기화 의미론을 존중하지만 Windows는 그렇지 않습니다.계산을 해보면, 2시간 안에 600,000개의 업데이트가 분당 5,000개입니다.이는 디스크의 회전 속도와 같은 크기입니다.
추가할 수 있습니다.SET autocommit=0;
가져오기 파일의 시작 부분과COMMIT;
끝까지자세한 내용은 이 페이지를 참조하십시오.
.sql 파일을 다음과 같이 내보내는 것이 어떻습니까?BULK INSERT
옵션 및 가져오기, mysqdump를 사용하여 백업하는 동안 이 옵션을 사용해 보십시오.
--extended-insert
다중 행 삽입 문 사용
--quick
행 데이터의 버퍼링을 수행하지 않습니다. 테이블이 크면 좋습니다.
참고: 가치를 높여야 합니다.max_allowed_packet
.sql 파일을 생성하기 전에 my.cnf 파일에 =32M 이상 있어야 합니다.
언급URL : https://stackoverflow.com/questions/10227078/why-is-import-of-sql-so-slow
'source' 카테고리의 다른 글
제출 버튼("감사합니다" 페이지 없음)에서 아약스를 사용하여 Google Adwords "변환 픽셀"을 구현하는 방법 (0) | 2023.07.26 |
---|---|
Java EE에서 CDI를 사용하는 이유 (0) | 2023.07.26 |
NuGet Package Manager 콘솔에 특정 패키지의 사용 가능한 모든 버전 나열 (0) | 2023.07.26 |
도커 합성을 수행한 후 컨테이너가 시작되지 않음 -d (0) | 2023.07.26 |
텍스트 영역에서 "shift+enter"를 감지하고 새 줄을 생성하려면 어떻게 해야 합니까? (0) | 2023.07.26 |