PostgreSQL
-
[Docker] 개발용 데이터베이스 띄우기(MySQL, PostgreSQL, MongoDB)Backend 2022. 3. 27. 13:20
실무에서 프로젝트를 진행할때나 개인 프로젝트를 진행할 때 로컬에 데이터베이스를 띄워야 하는 경우가 있다. 그런데 프로젝트마다 필요한 데이터베이스도 다르고, 같은 데이터베이스라도 여러 설정이 달라야할 수 있다. 이때 프로젝트별로 필요한 데이터베이스 환경을 컨테이너로 만들어놓으면 굉장히 편리한데, 특히 협업을 하는 경우 이 환경을 docker-compose.yml 파일로 만들어놓으면 동일한 데이터베이스 환경에서 개발을 할 수 있다. Docker Compose를 이용해서 오픈소스 데이터베이스 3대장인 MySQL, PostgreSQL, MongoDB를 띄우는 방법을 알아보자. MySQL MySQL을 docker-compose로 띄우기 위한 기본 설정은 다음과 같다. version: "3.9" services: ..
-
[PG] 쿼리 실행 계획 분석하기 - Table ScanDatabase 2021. 11. 17. 23:47
데이터베이스에 날릴 쿼리를 최적화하기 위해서는, 데이터베이스가 실제로 쿼리를 실행하는 방식과 해당 쿼리의 성능을 알고 있어야 한다. 그러기 위해서 데이터베이스의 쿼리 실행 계획(Query execution plan)을 보고 분석할 수 있어야 한다. PostgreSQL의 실행 계획을 분석하기 위해서 PostgreSQL가 테이블을 조회하는 방식인 테이블 스캔(Table Scan) 방식에 대해서 제일 먼저 알아보고 정리하려고 한다. 테스트 데이터 테스트할 테이블은 다음 쿼리로 생성했다. 게시판의 게시물에 해당하는 테이블이고, 사용자 테이블은 생성하지 않은 관계로 외래 키 참조는 생략했다. CREATE TABLE post ( id serial PRIMARY KEY, title varchar(255), autho..