PostgreSQL 가입에 관한 질문이 있습니다. PostgreSQL은 JOIN 된 테이블에 대한 임시 테이블을 생성합니까 아니면 모든 테이블을 만들지 않습니다
임시 테이블이 없습니까?PostgreSQL JOIN, 후드 아래
내 질문의 이유는 : 내가 많은 JOINs와 SELECT 요청을 할 때, 쓰기 작업에서 IO 스파이크를 참조하십시오. 이 문제의 원인은 무엇입니까?
고마워요.
PostgreSQL 가입에 관한 질문이 있습니다. PostgreSQL은 JOIN 된 테이블에 대한 임시 테이블을 생성합니까 아니면 모든 테이블을 만들지 않습니다
임시 테이블이 없습니까?PostgreSQL JOIN, 후드 아래
내 질문의 이유는 : 내가 많은 JOINs와 SELECT 요청을 할 때, 쓰기 작업에서 IO 스파이크를 참조하십시오. 이 문제의 원인은 무엇입니까?
고마워요.
크기가 커지면 PostgreSQL은 일시적으로 결과 세트를 디스크에 유출합니다. RAM보다 작은 데이터베이스가 아니라면 선택의 폭이 넓지 않습니다.
그러나 데이터 페이지가 작성된 이후 처음으로 읽는 경우 예기치 않은 기록이 표시 될 수도 있습니다. 가시성 검사를 최적화하기 위해 각 페이지에 "힌트 비트"가 설정되어 있습니다. 진공 청소기 등이나 페이지에 액세스 할 때 설정됩니다. 큰 가져 오기를 수행 한 후에 테이블 스캔을 수행하면 모든 힌트 비트가 설정되고 쓰여지면서 많은 예기치 않은 IO가 발생할 수 있습니다.
다릅니다. '설명 (분석 사실, 자세한 사실, 버퍼 사실)'당신에게 말할 것이다. –
I/O 스파이크는 다른 페이지 (또는 프로세스)를위한 여유 공간을 만들기 위해 더티 페이지를 작성하는 경우 발생할 수 있습니다. – wildplasser