MySQL InnoDB로 데이터 가져오기 속도를 높이고 느린 쿼리를 종료하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-08 11:15:02
원래의
579명이 탐색했습니다.

How to Speed Up Data Import into MySQL InnoDB and Terminate Slow Queries?

MySQL을 사용한 초고속 데이터 가져오기 최적화

쿼리:

대량을 가져올 때 "데이터 인파일 로드"를 사용하여 MySQL InnoDB 테이블에 데이터(약 360만 행)를 로드하는 경우 프로세스를 어떻게 가속화할 수 있습니까? 또한 MySQL 서비스를 중단하지 않고 느린 쿼리를 종료하려면 어떻게 해야 합니까?

해결책:

데이터 가져오기 가속화:

Innodb를 활용하면서 데이터 가져오기 프로세스를 최적화하려면:

  • 입력 파일 정렬: 대상 테이블의 기본 키를 기준으로 CSV 파일을 오름차순으로 정렬합니다. Innodb의 클러스터형 기본 키 구조는 데이터 정렬 시 로딩 속도를 크게 향상시킵니다.
  • 최적화된 로드 스크립트: 최적의 데이터 가져오기를 위해 다음 스크립트를 사용하십시오.
truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;
로그인 후 복사
  • 테이블 최적화: 다음 테이블 설정을 조정하여 로드 시간을 더욱 향상합니다.
set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;
로그인 후 복사
  • 데이터 분할: CSV 분할 파일을 더 작은 청크로 나누어 가져오기 속도를 향상시킵니다.

느린 쿼리 종료:

MySQL을 다시 시작하지 않고 느린 쿼리를 종료하려면:

  • 다음을 사용하여 쿼리의 스레드 ID를 식별합니다.
SHOW PROCESSLIST;
로그인 후 복사
  • 다음을 사용하여 쿼리를 종료합니다.
KILL <thread_ID>;
로그인 후 복사

성능 통계:

관찰된 대량 로드 성능 기준:

  • 가져오기 속도: 분당 350만 ~ 650만 행
  • 시간당 가져오기 볼륨: 2억 1천만 ~ 4억 행

위 내용은 MySQL InnoDB로 데이터 가져오기 속도를 높이고 느린 쿼리를 종료하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿