INT의 4 열 중 최대 70,000 행을 특정 순서로 반환해야하는데 관련된 데이터가 매우 휘발성이어서 최신 상태 여야하기 때문에 매우 얕은 캐싱 만 사용할 수 있습니다. 데이터의 한 가지 속성은 순서대로있을 때 종종 반복적 인 경우가 많다는 것입니다.SQL Server 크로스 행 압축
네트워크 대역폭과 클라이언트 측 처리 시간/리소스를 줄이기 위해 행 수를 줄이는 다양한 방법을 살펴 보았지만 T-SQL에서 기술을 찾을 수는 없었습니다. 반복 행을 단일 행과 '수'열로 압축합니다. 예 : 속으로
prop1 prop2 prop3 prop4
--------------------------------
0 0 1 53
0 0 2 55
1 1 1 8
1 1 1 8
1 1 1 8
1 1 1 8
0 0 2 55
0 0 2 55
0 0 1 53
:
prop1 prop2 prop3 prop4 count
-----------------------------------------
0 0 1 53 1
0 0 2 55 1
1 1 1 8 4
0 0 2 55 2
0 0 1 53 1
나는이 많은 경우에 가능했던 경우 어떤 70,000 행 결과 세트에서 가장 수천까지 될 것이라고 추정 것입니다.
잘못된 트리를 여기에서 짖고 있습니다 (SQL Server 프로토콜의 일부로 암시 적 압축이 있습니까?).
이렇게하는 방법이 있습니까 (SQL Server 2005)?
왜 이렇게하면 안되나요?
감사합니다.
하나의 핵심 요소 :이 데이터를 쿼리하는 데 사용하는 순서는 무엇입니까? SQL Server는 행이 클러스터형 인덱스 순서로 반환된다는 것을 항상 보장하지는 않으므로이 예제에서 "반복적 인"의미를 결정하는 것은 어렵습니다. –
결과 집합의 일부가 아닌 두 개의 열로 정렬하여 'y'와 'x'를 호출 할 수 있습니다. 건배. –