MariadDB에 Bulk Insert

JaeGu Jeong·2024년 3월 1일
0

튜플 1억개 다루기

목록 보기
1/1

Bulk Insert 하는 이유

DB를 한번 호출할 때마다 비용이 상대적으로 많이 들어갑니다.
터미널에서 예를 들어출력 개행을 10만번 할 때 echo를 10만번 하는 것보다
echo에 인자로 "\n"를 10만개 주는게 더 빠릅니다.

Bulk Insert 하기

ShellScript로 SQL Bulk Insert를 진행하였습니다.

접속될 때 까지 기다립니다.

bash 환경변수 값 길이 제한을 고려해서 1000개마다 끊어서 넣습니다.

테이블 튜플 갯수 확인

SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mydb' AND TABLE_NAME = 'table_name';

"COUNT(*)" 하면 정확한 수치를 알 수 있지만 느립니다. 1억개라면 체감이 심합니다.
"INFORMATION_SCHEMA"라는 시스템 카탈로그 스키마를 사용해서 즉시 추정치를 얻을 수 있습니다.
mydb부분에 본인의 데이터베이스 이름을 넣고 table_name에 알고 싶은 본인의 테이블이 이름을 넣어 줍니다.

테이블 상태 확인

SHOW TABLE STATUS LIKE 'table_name';

튜플 수치를 포함해서 테이블의 상태를 MariadDB에서 제공하는 "SHOW TABLE STATUS"기능으로 알 수도 있습니다.
주의 할 점은 이 기능도 추정치입니다. 정확한 수치는 직접 "COUNT(*)"로 기다리는 수 밖에 없습니다.

profile
BackEnd Developer

0개의 댓글