Skip to content
> giho's blog
Go back

~/posts/mysql-to-redshift

MySQL 쿼리를 Redshift로 옮길 때 걸리는 것들

MySQL 쿼리를 그대로 Redshift에 붙이면 대부분 한 번에 안 된다. Redshift는 PostgreSQL 계열이라 문법과 동작이 미묘하게 다르다. 자주 걸리는 것만 추려본다.

1. 세 부분 네이밍

Redshift는 database.schema.table 3단 네이밍을 쓴다. MySQL의 db.table 감각으로 접근하면 스키마를 빼먹는다.

2. 세션 변수가 없다

MySQL의 SET @var := ... 스타일 세션 변수가 Redshift엔 없다. CTE나 임시 테이블로 풀어야 한다.

3. 함수 이름이 다르다

4. 날짜 분할 UNION ALL은 합칠 수 있다

기간을 잘라 UNION ALL로 붙인 MySQL 쿼리는 Redshift에서 하나의 범위 조건으로 합치는 게 대개 더 빠르다.

아직 초안입니다. 실제 사례로 더 채울 예정.



Previous Post
CSV를 Parquet으로 한 방에 (duckdb)
Next Post
Neovim을 노트 작성 도구로 쓰기
giho=#searchesc