본문 바로가기
SQL

[MySQL] 같은 구조의 Temp Table 생성

by Hyeongjun_Ham 2024. 2. 1.

[MySQL] 같은 구조의 Temp Table 생성

 

목적

(A) DB에서 (B) DB로 가공하여 긁어와야 함

 

처음 생각 한 방법

1. (B) temp 테이블을 미리 생성한다.

2. (B) temp로 (A) DB 테이블 데이터를 저장

3. (B) temp -> (B) 원하는 테이블로 저장

 

로직에는 처음 시작할 때 temp 삭제하는 구간도 있으나 생략했다.

 

이렇게 진행하니 똑같은 테이블 두 개를 동시에 유지보수 해야 하는 단점이 생겼다.

 


TEMPORARY TABLE

TEMPORARY TABLE 이란?

간단히 말하면 임시테이블이다.

 

특징은 다음과 같다.

  • 세션 또는 트랜잭션 범위 : 대부분의 데이터베이스 시스템에서 임시 테이블은 생성한 데이터베이스 세션 또는 트랜잭션 동안에만 존재한다. 세션이나 트랜잭션이 종료되면 임시 테이블은 자동으로 삭제된다.
  • 격리 수준 : 임시 테이블은 다른 세션에서 보이지 않으므로, 데이터의 격리 수준이 높다. 이는 동시에 여러 사용자가 동일한 데이터베이스를 사용할 때 데이터 충돌을 방지한다.
  • 성능 : 임시 테이블은 주로 메모리에 저장되며, 디스크 기반의 일반 테이블보다 빠른 접근속도를 제공할 수 있다. 하지만 대량의 데이터나 복잡한 쿼리에 대해서는 성능에 영향을 줄 수 있다.
  • 용도 : 임시 테이블은 복잡한 쿼리의 중간 결과를 저장하거나, 데이터 변환, 데이터의 일시적인 백업, 테스트 목적 등에 사용된다.

 

TEMPORARY TABLE 생성하는 방법

CREATE TEMPORARY TABLE my_temp_table (
    column1 INT,
    column2 VARCHAR(100)
);

간단히 생성 가능하다.

 

나는 기존에 존재하는 똑같은 구조의 테이블을 생성해야 해서 다음과 같이 했다.

CREATE TEMPORARY TABLE my_temp_table LIKE basic_table;

 

LIKE를 사용하여 테이블 구조를 복사 할 수 있다.