2009-05-06 6 views
1

나는 어떻게 처신 해야할지에 관해서 정말 실망하고 있습니다. 나는 매우 큰 데이터베이스를 가지고 있으며, 내가 접근하고있는 테이블은 대략 가지고있다. 600,000 레코드. 이 데이터베이스는 회계 응용 프로그램을 사용하여 액세스합니다.이 응용 프로그램은이 보고서가 데이터베이스에 액세스하는 SQL 쿼리를 보고서에 제공합니다.Crystal Reports - 매우 큰 데이터베이스, 매우 긴 처리 시간

내 보고서에는 보고서 머리글에있는 제한 사항이있는 연결된 하위 보고서가 있습니다. 이 보고서를 실행하면 새로 고침하는 데 걸리는 평균 시간은 36 분입니다. 쿼리에 두 개 이상의 항목을 추가 할 때 보고서는 2.5 시간이 걸립니다. 여기

내가 무엇을 시도했다입니다 :

  • 은 절대적으로 필요의 항목을 떠나는 보고서 정리 -
  • 제거 대부분의 식 (나머지 수식을 제거하는이 시간의 차이가 없습니다) 차이가 없습니다
  • 을 SQL 쿼리 편집을 시도했습니다. 회계 응용 프로그램 때문에 허용되지 않았습니다.
  • 하위 보고서 및 주 보고서를 뒤집어 봤습니다. 작동하지 않았습니다.
  • 다른 그룹화 - 아니요
  • 가 임시 디스크 공간 부족에 대한 모든 서버를 점검 차이 - -
  • 는 하위 보고서 "요구에"노력없는 문제 -
  • 제거 그룹을 ference하지
  • 이 매개 변수를 점검 변화 없음 (이산 대 범위)과 그것이 같아야합니다
  • 서버에서 그룹화, 짝짓기 색인을 시도했습니다. - 차이가 없습니다.
  • 보고서에 2 번 통과해야합니다. 나는 그것을 한 번 성공하지 못하게하려고 노력했다.

누락 된 부분이 있어야합니다.

일반 수정 기능을 사용하는 보고서에는 다른 수정 사항이없는 것으로 보입니다. 600,000 개의 레코드를 모두 거치지 않고도 데이터 액세스 속도를 높일 수있는 방법이 있습니까? 이 데이터에 액세스하는 SQL 쿼리는 길고 많은 요청이 있습니다. 내가 바꿀 수있는 것이 아닙니다.

이러한 요청을 무효화하는 항목 (수식)을 추가 할 수 있습니까? 지금 도달 중입니다 ...

+0

응용 프로그램이 쿼리를 보고서에 전달하는 것이 이상합니다. 일반적으로 데이터를 전달하거나 보고서에 쿼리가 전달됩니다. – dotjoe

답변

1

우리가 성공한 몇 가지는 데이터베이스에 색인을 추가하고 테이블을 보고서로 가져 오는 대신 저장 프로 시저를 작성하여 원하는 결과를 검색했습니다.

1

색인 및 저장 프로 시저가 데이터베이스와 관련된 생명의 일부가 될 때까지 비정규 화 상태에 도달해야하는 위치를 얻지 못한다면. 보고 요구 사항에 최적화 된 테이블을 사용하여 MI 데이터베이스를 만드는 방법을 살펴볼 수 있습니다. 프로덕션에서 MI 데이터베이스로 데이터를 추출 할 수있는 일부 데이터 변환 스크립트 등이 있습니다. 오라클/ms에 따라이 작업을 수행하는 데 도움이되는 도구가 있습니다.

+0

+1 다른 좋은 생각입니다! 그리고 우리도 한 것입니다. – mattruma

0

SQL 쿼리가 무엇인지 알고 있습니까? 그렇다면 회계 응용 프로그램 외부로 보고서를 이동하여 데이터베이스 전문가의 명령에 직접 붙여 넣을 수 있습니다. 나는 함께 작업하는 다른 응용 프로그램과 함께 두 경우에이 작업을 수행해야했습니다.

1

우리는 청구 시스템과 함께 Crystal Reports를 사용하며 데이터베이스 작성을 완료하는 데 1.5 시간 이상 소요되는 쿼리가있었습니다.이것은 심지어 보고서의 렌더링/형식화를 고려하지 않습니다.

Materialized Views을 작성하여 클라이언트가 매일 새로 고칠 것을 강요했습니다. 구체화 된 뷰는 기본적으로 반환 된 데이터 집합을 보유하는 데이터베이스 뷰입니다. 데이터 세트를 새로 고치라고 명시하지 않으면 데이터 세트가 새로 고쳐지지 않습니다.