SQL 최적화 - 데이터 삽입 최적화(로드 명령 사용)

  • 데이터 삽입 시 최적화
  • 기본 키 최적화
  • 최적화 순서
  • 최적화로 그룹화
  • 한계 최적화
  • 카운트 최적화
  • 업데이트 최적화

1. 데이터 삽입시 최적화

일괄적으로 데이터를 삽입할 때 최대 1,000개를 넘지 않는 것이 좋으며, 한 번에 수만 개의 데이터를 일괄적으로 삽입하는 경우 여러 개의 insert 문으로 나누어 삽입할 수 있습니다.

MySQL의 트랜잭션 제출 방식은 기본적으로 자동 제출 방식으로 되어 있다.insert 문이 실행되면 트랜잭션이 제출되고, 다시 삽입이 실행된다.실행 전에 트랜잭션이 시작되고 실행 후에 트랜잭션이 자동으로 제출된다.이로 인해 트랜잭션을 자주 열고 제출해야 하므로 트랜잭션을 수동으로 제어하는 ​​것이 좋습니다. insert 문을 실행하기 전에 트랜잭션을 시작하고 여러 insert 문을 실행한 후 균일하게 트랜잭션을 제출합니다.

기본 키 순서로 삽입됩니다.

여기에 이미지 설명 삽입

1.1 일괄 데이터 삽입

대용량 배치로 데이터를 삽입하려면 삽입 명령 대신 로드 명령을 사용하는 것이 좋습니다.
여기에 이미지 설명 삽입
mysql 보기 매개변수의 구문 형식:

select @@local--infile;

여기에 이미지 설명 삽입
local_infile 스위치를 켜면 로드 명령을 통해 데이터를 로드할 수 있습니다.

set global local_infile = 1;

여기에 이미지 설명 삽입
데이터 파일을 업로드하고 로드 명령을 사용하여 mysql 데이터베이스 테이블에 로드합니다.

load data local infile '/root/load_user_100w_sort.sql' into table tb_user fields terminated by ',' lines terminated by '\n';

여기에 이미지 설명 삽입
100w의 데이터를 mysql에 로드하는 데 약 17초가 소요되며, insert 문을 사용하여 데이터를 로드하는 경우 약 10분 정도 소요됩니다.
여기에 이미지 설명 삽입

추천

출처blog.csdn.net/weixin_44860226/article/details/131861472