문제

하룻밤 배치로 업데이트되는 데이터에서 일부 관리 정보 (MI)를 추출해야합니다. 수십만 개의 잠재적 인 수백만 행이있는 테이블에서 MI를 생성하기 위해 골재 기능을 사용합니다. 정보는 웹 페이지에 표시됩니다.
여기서 중요한 요소는 SQL Server의 집계 기능 처리 효율성입니다.
데이터를 생성하기위한 두 가지 선택에 직면 해 있습니다.

  1. 저장된 Procs/Views 쓰기 누군가가 페이지에 액세스 할 때마다 호출되는 원시 데이터에서 정보를 생성합니다.
  2. 매일 새로 고침 된 테이블을 만들고 MI의 캐시 역할을합니다.

취하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

데이터가 하루 종일 변경되지 않으면 야간로드 중 값을 캐시하십시오. 검색이 훨씬 빨라질 것입니다. 나는 필요할 때 요약 테이블의 열렬한 팬입니다. 당신의 경우, 그들은 필요합니다!

SQL Server를 소유하고 있기 때문에보고 싶은 한 가지는 분석 서비스입니다. 다차원 데이터베이스 또는 큐브를 만들면 이러한 집계는 모두 자동으로 발생하며 해당 숫자를 캡처하는 보고서를 작성하는 대신 생각의 속도로 숫자를 찾기 위해 데이터를 드릴 수 있습니다. 10 분을 보내십시오 소개 비디오를 시청하십시오 그것의, 그리고 나는 당신이 SSA의 힘에 대해 진정한 감사를 얻을 것이라고 생각합니다.

다른 팁

분석 서비스 큐브가 실제로 문제에 가장 적합한 것처럼 들립니다. 데이터로드가 발생한 후에 큐브 프로세싱을 실행하여 나중에 사용하기 위해 데이터를 집계하기 위해 실행할 수 있습니다.

그러나 인덱싱 된 뷰를 사용할 수도 있습니다.이보기는 올바르게 설계되고 No Expand 테이블 힌트와 함께 사용되면 상당한 성능 증가를 제공 할 수 있습니다.

SQL 2005 색인 뷰

SQL 2008 색인 뷰

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top