지수

2013-06-27 5 views
0
내 응용 프로그램의

한 다음 사용 사례가 있습니다지수

  • 사용자가 주문에 대한 몇 가지 필터와 조건 입력 (배달 날짜 범위를, ...)
  • 응용 프로그램을 분석하기를 많은 데이터를 계산하고 여러 지원 테이블 (각 분석에 대해 수천 개의 레코드가 될 가능성이 있음)에 저장하십시오.
  • 응용 프로그램이이 테이블의 데이터를 사용하는 보고서 엔진을 시작합니다.
  • 응용 프로그램이 지원 테이블에서 계산 된 레코드를 삭제합니다.

실제로 테이블을 지원하기 위해 인덱스/스태틱을 추가하는 쿼리 성능을 향상시키는 방법을 분석 중이며 SQL 프로파일 러는 3-4 개의 인덱스와 20-25 개의 통계를 생성 할 것을 제안합니다.

지원 테이블의 레코드는 비용이 많이 발생하여 작성 및 제거됩니다.이 인덱스/통계를 모두 작성하는 것이 맞거나이 모든 데이터가 쉽게 구식이 될 수있는 위험이 있습니다 (인덱스/통계)?

DB 서버 : SQL 서버 2005 + 응용 프로그램 언어 : C# .NET을

감사 힌트/제안에 미리!

답변

0

처음에는 데이터 큐브에 대한 좋은 상황 인 것 같습니다. 둘째, 지원 테이블이 채워지면 쿼리를 실행하기 전에 통계를 업데이트해야합니다. 데이터를 삽입 할 때 인덱스를 비활성화해야합니다. 그런 다음 rebuild 명령을 사용하면 인덱스와 통계를 한 번에 최신 상태로 유지할 수 있습니다. 프로파일 러는 요즘에는 일반적으로 이러한 제안에 상당히 뛰어나지 만, 조합을 테스트 해 어떤 actully가 최상의 성능 향상을 제공하는지 확인합니다. 여기에서 os 큐브로보기 What are the open source tools and techniques to build a complete data warehouse platform?

+0

지원 테이블은 실제로 4-5 차원 테이블과 보고서 엔진이 작동하는 몇 가지 사실 테이블이있는 데이터 마트 논리로 작성됩니다. – Defkon1