Skip to Content
PostgreSQL: 시작부터 실행까지, 3판
book

PostgreSQL: 시작부터 실행까지, 3판

by Regina O. Obe, Leo S. Hsu
May 2025
Beginner to intermediate
314 pages
5h 4m
Korean
O'Reilly Media, Inc.
Book available
Content preview from PostgreSQL: 시작부터 실행까지, 3판

9장. 쿼리 성능 조정

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

조만간 우리 모두는 인내심보다 실행 시간이 조금 더 오래 걸리는 쿼리에 직면하게 될 것입니다. 가장 쉽고 좋은 해결책은 기본 SQL을 완벽하게 만든 다음 인덱스를 추가하고 플래너 통계를 업데이트하는 것입니다. 이러한 작업을 안내하기 위해 PostgreSQL에는 쿼리 플래너가 SQL을 실행하는 방법을 알려주는 설명기가 내장되어 있습니다. 완벽한 SQL을 작성하는 요령, 유용한 인덱스를 찾아내는 본능, 설명자의 통찰력으로 무장하면 하드웨어 예산이 허용하는 한 쿼리를 빠르게 실행하는 데 아무런 문제가 없을 것입니다.

설명

성능 문제를 타깃팅하는 가장 쉬운 도구는 EXPLAINEXPLAIN (ANALYZE) 명령입니다. EXPLAIN 는 PostgreSQL 초기부터 사용되어 왔습니다. 시간이 지남에 따라 이 명령은 쿼리 실행에 대한 매우 상세한 정보를 보고할 수 있는 본격적인 도구로 발전했습니다. 그 과정에서 더 많은 출력 형식이 추가되었습니다. EXPLAIN은 출력을 XML, JSON 또는 YAML로 덤프할 수도 있습니다.

일반 사용자를 위한 가장 흥미로운 개선 사항은 몇 년 전 pgAdmin에 그래픽 설명 기능이 도입되었을 때였을 것입니다. 쿼리에서 병목 현상이 발생하는 위치, 인덱스가 누락된 테이블, 실행 경로가 예기치 않은 방향으로 바뀌는지 등을 자세히 오래 응시하면 파악할 수 있습니다.

설명 옵션

의 논그래픽 버전인 EXPLAIN 을 사용하려면 SQL 앞에 EXPLAIN 이라는 단어와 몇 가지 선택적 인수를 붙이기만 하면 됩니다:

  • EXPLAIN 를 사용하면 쿼리를 실행하지 않고도 플래너가 쿼리를 어떻게 실행할 것인지에 대한 아이디어만 얻을 수 있습니다.

  • EXPLAIN (ANALYZE) 에서와 같이 ANALYZE인수 를 추가하면 쿼리가 실행되고 예상 동작과 실제 동작을 비교 분석할 수 있습니다.

  • EXPLAIN (VERBOSE) 과 같이 VERBOSE인수를 추가하면 이 플래너의 활동을 열 수준까지 보고합니다.

  • EXPLAIN (ANALYZE, BUFFERS) 에서와 같이 ANALYZE 과 함께 사용해야 하는 BUFFERS인수를 추가하면 공유 히트를 보고합니다. 이 숫자가 높을수록 이전 쿼리에서 이미 메모리에 있는 레코드가 많으므로 플래너가 다시 검색하기 위해 디스크로 돌아갈 필요가 없다는 뜻입니다.

타이밍, 열 출력 및 버퍼를 포함한 모든 세부 정보를 제공하는 EXPLAIN 은 다음과 같습니다. EXPLAIN (ANALYZE, VERBOSE, BUFFERS) your_query_here;.

실제 데이터를 변경하지 않고 UPDATE 또는 INSERT 같은 데이터 변경 문에서 EXPLAIN (ANALYZE) 의 결과를 보려면, 중단하는 트랜잭션에 문 앞에 BEGIN, 뒤에 ROLLBACK 를 배치하여 문을 감싸세요.

pgAdmin과 같은 GUI에서 그래픽 설명을 사용할 수 있습니다. pgAdmin을 실행한 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

러닝 SQL: 데이터 생성, 검색, 조작까지 데이터 제대로 주무르기

러닝 SQL: 데이터 생성, 검색, 조작까지 데이터 제대로 주무르기

류수미, 송희정, 앨런 볼리외
생성형 AI를 위한 프롬프트 엔지니어링

생성형 AI를 위한 프롬프트 엔지니어링

제임스 피닉스, 마이크 테일러

Publisher Resources

ISBN: 9798341655270Supplemental Content