2014-12-02 2 views
1

내가 N 각 결과에 미터 행을 조인하는 쿼리를 만들 경우에, 나는 (미터 행이에 합류 각 결과가있을 것이다) N * m 결과 행의 총을 얻을 것이다.PostgreSQL : 결과 (JOIN 포함)는 네트워크를 통해 어떻게 전송됩니까?

네트워크를 통해 연결하는 경우 n * m 행이 네트워크를 통해 전송 되나요? 아니면 더 짧은 방법으로 표현하기에 충분히 똑똑한 PostgreSQL 소프트웨어입니까? (즉, n1m1, n1m2, n1m3 대신 n1 * (m1, m2, m3))

답변

1

짧은 답변은 아니요이라고 생각합니다. Postgres Message Flow 문서에서

: 간단한 쿼리 모드에서

는 검색된 값의 형식은 항상 주어진 명령이이 BINARY 데이터 옵션으로 선언 된 커서에서 페치 경우를 제외하고 텍스트, 입니다. 이 경우 검색된 값은 이진 형식입니다. RowDescription 메시지에 제공된 형식 코드는 에 어떤 형식이 사용되고 있는지 알려줍니다.

질의 확장 모드하십시오

귀속도 쿼리에 의해 반환 된 데이터에 사용하는 형식을 지정한다; 형식은 전체 또는 열 단위로 지정할 수 있습니다. RowDescription 메시지에 대해서는

:

은 행 등 쿼리, FETCH, 는 SELECT에 대한 응답으로 반환되기 직전에 있음을 나타냅니다. 이 메시지의 내용은 행 행의 열을 설명합니다. 그러면 각 행이 프런트 엔드에 반환되는 에 대한 DataRow 메시지가옵니다.

그래서이 형식은 또는 순수한 텍스트가 될 수 있지만, 난 당신이 언급 한 바와 같이 인수 분해 아웃 인코딩의 어떤 종류가 믿지 않는다. 즉, 위의 경우에 (n1, n2, n3, m1, m2, m3)이 될 지정된 형식으로 모든 열을 배치합니다.