다음을 통해 공유


데이터베이스 서버에 레코드 선택 오프로드

보고서 처리 속도를 향상시키는 방법의 핵심은 데이터베이스에서 반환되는 데이터의 양을 제한하는 것입니다. 이 작업을 수행하기 위한 기본 도구는 레코드 선택 수식입니다.

Crystal Reports는 레코드 선택 수식을 분석하여 그 수식으로 SQL 쿼리를 생성합니다. 그러면 데이터베이스에서 이 SQL 쿼리를 처리하여 결과 레코드를 Crystal Reports로 다시 보냅니다. 그런 다음 Crystal Reports는 데이터베이스에서 검색된 각 레코드에 대한 레코드 선택 수식을 로컬에서 평가하여 보고서를 생성하는 데 사용되는 레코드 집합을 계산합니다.

필요 없는 레코드는 데이터베이스에서 SQL 쿼리를 사용하거나 Crystal Reports 내에서 레코드 선택 수식을 사용하는 두 단계를 통해 제거됩니다. 속도를 향상시키려면 가능한 한 데이터베이스에서 많은 레코드를 제거해야 합니다. 레코드 선택 수식을 효율적으로 디자인하면 대부분의 처리를 데이터베이스 서버에 오프로드하여 불필요한 레코드를 Crystal Reports로 반환하기 전에 제거할 수 있습니다. 이 동작을 일반적으로 "데이터베이스 서버로 레코드 선택 푸시다운"이라고 합니다.

매개 변수 필드

보고서를 열 때마다 모든 보고서 데이터를 표시하는 대신, 사용자가 보려는 데이터를 지정할 수 있는 매개 변수 필드를 만들 수 있습니다. 데이터베이스 서버에서 전송되는 데이터의 양을 줄이려면 레코드 선택 수식에 이러한 매개 변수 필드를 포함시킵니다.

일반적으로 매개 변수 필드는 매개 변수 프롬프트에 응답하는 사용자에게 대화형 작업을 제공하여 사용자가 보려는 데이터를 지정하도록 합니다. 매개 변수 필드를 레코드 선택 수식에 포함시키면 대화형 작업을 제공할 뿐만 아니라 데이터 전송이 줄어들어 성능이 향상됩니다.

선택 전문가 또는 레코드 선택 수식 편집기를 사용하여 레코드 선택 수식에 매개 변수 필드를 추가할 수 있습니다. 레코드 선택 수식 편집기를 사용할 경우 다른 필드를 처리할 때와 같이 매개 변수 필드를 처리하십시오. "수식에 매개 변수 통합"을 참조하십시오.

SQL 식 필드

보고서 처리 속도를 최상으로 유지하려면 Crystal 구문 및 기본 구문에 관계 없이 레코드 선택 수식 내에 수식을 사용하지 마십시오. 대신 소스 수식을 동등한 SQL 식 필드로 바꾼 다음 이 SQL 식 필드를 레코드 선택 수식에 포함시킵니다. 이렇게 하면 레코드 선택이 서버에 푸시다운될 확률이 크게 향상됩니다.

또한 Crystal 구문 및 기본 구문에 관계 없이 수식 필드에 대한 정렬, 그룹화, 또는 합계 계산을 수행하지 마십시오. 대신 소스 수식 필드를 동등한 SQL 식 필드로 바꾼 다음 이 SQL 식 필드에 대한 정렬, 그룹화, 또는 합계 계산을 수행하십시오. 이렇게 하면 서버에서 프로세스가 수행될 확률이 크게 향상됩니다.

마지막으로, 데이터베이스가 Case 논리를 지원하고 보고서가 If-Then-Else 수식 계산을 요약해야 하는 경우에는 해당 수식을 SQL 식 필드로 바꾸십시오. 이 경우 SQL 식 필드를 사용하면 Crystal Reports가 서버에서 보고서 그룹화를 수행할 수 있습니다. "SQL 식"을 참조하십시오.

참고 항목

  • SQL 식

    보고서에서 SQL 식을 사용해야 하는 경우를 설명합니다.