[Book Review] 업무에 바로 쓰는 SQL 튜닝 1장

Noah·2022년 1월 24일
0

Oracle vs MySQL/Maria DB

보통 데이터베이스를 다중화 구조로 구축 시 오라클 DB 서버는 통합된 스토리지 하나를 공유하여 사용하는 방식이지만 MySQL은 물리적인 DB 서버마다 독립적으로 스토리지를 할당하여 구성한다.

때문에 오라클의 경우 사용자가 어느 DB 서버에 접근하더라도 CRUD 모두 처리할 수 있지만 MySQL은 각 서버마다 독립적인 스토리지 할당에 기반을 두는 만큼 이중화를 위한 클러스터나 복제 구성으로 운영하더라도 보통은 마스터-슬레이브 구조가 대부분이다.

이때 마스터 노드는 쓰기/읽기 처리를 모두 수행할 수 있고 슬레이브 노드는 읽기 처리만 수행할 수 있다.

이처럼 쿼리문이 수행하는 서버가 어떤 노드이고 어떤 역할을 하는지 알고 튜닝을 진행하면 물리적인 위치 특성이 내포된 쿼리 튜닝을 수행할 수 있다.

지원 기능 차이

조인 알고리즘의 기능에 차이가 있다. MySQL은 대부분 중첩 루프 조인 방식으로 조인을 수행하는 한편, 오라클에서는 정렬 병합 조인과 해시 조인 방식도 제공한다. 최근에는 더 효율적으로 쿼리를 수행하고자 MySQL 8.0.18 버전에서도 제약적으로 해시 조인을 제공하지만 여전히 대부분의 조인은 중첩 루프 조인으로 풀린다.

SQL 구문

세부적인 SQL 구문도 다른 부분이 존재한다. 이는 비단 Oracle과 MySQL뿐만 아니라 어떠한 DBMS라도 각자만의 특별한 구문을 갖고 있으므로 필요할 때 찾아보면 될 것이다.

profile
개발 공부는 🌳 구조다…

0개의 댓글