시작하기 전...
엑셀 업로드 후 저장 시 대량으로 DB에 업로드해야 할 일이 생겼다.
그래서 MySQL의 TEMPORARY TABLE 을 이용해 일괄 등록 후 TEMPORARY TABLE에 등록된 데이터로 정합성 체크까지 하는 로직을 개발하기로 했다.
MySQL TEMPORARY TABLE 이란?
MySQL에서 임시 테이블은 단일 세션에서 여러 번 재사용할 수 있는 임시 결과 집합을 저장할 수 있는 특별한 유형의 테이블입니다.
MySQL은 세션이 종료되거나 연결이 종료되면 자동으로 임시 테이블을 제거 합니다.
물론 DROP TABLE을 사용하여 임시 테이블을 더 이상 사용하지 않을 때 이 명령문을 사용하여 명시적으로 임시 테이블을 제거할 수 있습니다.
TEMPORARY TABLE 생성 & 삭제 예시
CREATE TEMPORARY TABLE 사용 예시
CREATE TEMPORARY TABLE TMP_TABLE_NAME (
COLUMN_1 INT PRIMARY KEY
, COLUMN_2 VARCHAR(10)
, COLUMN_3 VARCHAR(10)
, COLUMN_4 VARCHAR(10)
);
임시 테이블 구조가 기존에 생성된 테이블을 기반으로 하는 테이블을 만들기
CREATE TEMPORARY TABLE TMP_TABLE_NAME LIKE ORIGINAL_TABLE;
CREATE TEMPORARY TABLE TMP_TABLE_NAME
SELECT * FROM ORIGINAL_TABLE
LIMIT 0;
DROP TEMPORARY TABLE 사용 예시
DROP TEMPORARY TABLE TMP_TABLE_NAME;
※ TEMPORARY TABLE INSERT(등록) 예시는 다음 글에 작성
참고사이트
'Database > MySQL' 카테고리의 다른 글
[MySQL] UPSERT, INSERT ON DUPLICATE UPDATE 등록 또는 수정 (0) | 2023.05.04 |
---|---|
[MySQL] REPLACE INTO, DELETE INSERT 대체 (0) | 2023.05.03 |
[MySQL] TEMPORARY TABLE 사용하기 #2 (BULK INSERT) (0) | 2023.04.07 |