2013-02-22 4 views
0

여기에 몇 가지 디자인 조언이 필요합니다. 나는 큰 테이블을 가지고 있으며 4 가지 상태 (예를 들어 A, B, C & D)의 레코드를 저장합니다. 요구 사항은 UI에 있으며 이러한 레코드는 상태에 따라 네 가지 다른 격자로 표시되어야합니다.거대한 테이블을 쿼리하는 동일한 페이지에 여러 개의 그리드가있는 성능 문제

그래서 입력으로 상태를 취하고 데이터 집합을 반환하는 단일 저장 프로 시저를 작성했습니다. 페이지로드시이 SP를 다른 상태로 4 번 호출하면 결과가 gridview에 바인딩됩니다. 모든 것이 잘 작동합니다.

테이블이 거대한 테이블이므로 페이지를로드하는 데 많은 시간이 걸립니다.

참고 : 사용자가 그리드의 데이터를 비교할 수 있도록 모든 4 개의 그리드를 표시해야합니다.

이미 색인을이 표에 추가했지만 아직 사용하지 않았습니다.

이 작업을 수행하기위한 최상의 설계는 무엇입니까?

감사합니다.

답변

1

하나 대신 4 개의 결과 집합을 반환하도록 SP를 변경하십시오.

새 SP를 한 번 호출하십시오.

각 결과 집합에서 더 적은 결과를 반환하고 대신 페이징을 도입합니다.

+0

페이징은 이미 구현되어 있지만 성능에는 문제가 없습니다. – user1447718

+0

또한 사용자가 개별 그리드의 열을 클릭하여 정렬 할 때 해당 그리드 만 정렬해야하므로 4 개의 데이터 세트로 반환 할 수 없습니다. 이 경우 정렬 된 데이터를 가져 오기 위해 DB를 호출합니다. 그래서 이런 경우에는 하나의 그리드 만 정렬하려고 할 때 4 개의 데이터 세트 모두를 반환하면 성능이 더 좋아질 지 확신 할 수 없습니다. – user1447718

+0

총 반환 행 수는 몇 행입니까? –