개발자들이 개발 및 테스트에 필요한 테이블을 사용하고자 합니다. 하지만 실제 운영 중인 데이터는 안전상의 이유로 직접 접근할 수 없도록 정책을 세웠기 때문에 해당 테이블의 소유자는 데이터를 복사해서 전달해 주려고 합니다.
이와 같은 상황을 가정하고 CTAS 형태의 방식으로 개발자들을 위한 테이블을 만드는 방법과 클론을 이용해 테이블을 만드는 방법을 비교하여 실습해 봅니다.

+를 클릭하여 새 SQL Worksheet를 만듭니다...을 클릭하여 RENAME합니다// 컨텍스트 설정 USE ROLE sysadmin ; USE WAREHOUSE tasty_de_wh ; USE DATABASE tasty_db ; USE SCHEMA raw_pos ;
다음과 같이 CTAS를 실행해 봅니다
// CTAS 수행 CREATE OR REPLACE TABLE order_detail_ctas AS SELECT * FROM order_detail ;
- 비교를 위해 수행 시간을 기록합니다
이번에는 Clone을 이용해 테이블을 복제합니다
// Clone 수행 CREATE OR REPLACE TABLE order_detail_clone CLONE order_detail ;
- 이전의 결과와 비교하기 위해 수행 시간을 기록합니다
SHOW 구문을 사용하여 두 복제 테이블을 확인합니다
// 테이블 정보 확인 SHOW TABLES LIKE 'order_detail%' ;
데이터베이스 탭에서 두 복제 테이블에 대한 정보를 비교해 봅니다

클론된 테이블은 원본 테이블과 별도로 운영할 수 있습니다.
클론 테이블에 데이터를 더 추가해 봅니다
// 클론 테이블에 데이터 추가 INSERT INTO order_detail_clone SELECT * replace(1000000000 + order_detail_id as order_detail_id) FROM order_detail WHERE unit_price > 20 ;
SHOW 구문을 사용하여 원본 테이블과 클론 테이블을 확인합니다
// 테이블 정보 확인 SHOW TABLES LIKE 'order_detail%' ;
- 데이터 행과 사이즈가 증가된 것을 확인할 수 있습니다