2011-03-21 5 views
0

.net framework 4.0의 gridview 컨트롤을 사용하고 있습니다. 내 목록에는 각 포스트 백에서 gridview에 바인딩하는 행 1000 개가 포함되어 있습니다. 따라서 내 페이지가로드하는 데 시간이 걸립니다. 시스템 속도를 높이고 싶습니다. 성능을 향상시킬 수있는 다른 컨트롤이 있습니까? 아니면이를 수행 할 다른 방법이 있습니까? 내가 원하는 것은 더 빠른 성능입니다.페이지 로딩 지연을 개선하는 방법은 무엇입니까?

+1

왜 각 포스트 백에 바인딩된다? 데이터가 변경됩니까? 또한 1000 개의 레코드가 관계없이로드되는 데 시간이 걸릴 것입니다. ajax를 사용하여 비동기 일괄 적으로 레코드를로드 할 수 있습니다. 사용자에게 더 빨리로드되는 것처럼 보입니다. –

+0

gridview가 포함 된 updatepanel을 사용하고 있으므로 페이지 인덱스가 변경되면 데이터베이스에서 모든 레코드를 가져옵니다. 즉, viewstate를 유지 관리합니다. – Tuscan

답변

1

Repeater과 같이 더 빠른 컨트롤을 사용할 수도 있지만 실제로 필요한 기능에 따라 다릅니다. 데이터 만 표시하거나 편집 할 수 있습니까? 당신이 절반으로 페이지 크기를 분할 할 수 있습니다 당신이, 당신이 렌더링에 사용하는 것을 HTML을 최적화 볼 수있는 데이터의 이러한 많은 양의

...

0

모든 포스트 백에 대한 바인딩이 아니라는 점 외에도 데이터 소스는 SQL 데이터베이스라고 가정합니다. 쿼리가 얼마나 빨리 실행되는지 확인해야합니다. 테이블의 색인을 제대로 작성했는지 확인하십시오.

1

첫 번째 단계는 성능 검사에서 느린 속도를 확인하는 것입니다. 코드에서 어디서 시간이 걸리는지 확인하십시오. 많은 것들 중 하나 일 수 있습니다.
1) 컨트롤에서 javascript를 사용하는 경우 사용자가 느린 javascript 엔진을 사용하는 브라우저의 이전 버전에있는 것일 수 있습니다.
2) 아마도 대역폭 문제일까요?
3) 아마도 누락 된 SQL 인덱스
일 것입니다.

잘못된 것이 무엇인지 추측하지 말고 무엇이 시간을 들여야하는지 확인한 다음 시간에 해결하십시오.

세미콜론이 Ajax를 통해로드하는 것이 해결책 일 수 있음을 사용자가 더 잘 이해할 수 있도록합니다.

다른 사람은 그럴 가능성이 큰 경우 캐싱을 제안 할 것이고, 내장 된 캐시 옵션을 사용하여 데이터 테이블을 캐싱 할 수 있습니다.

관련 문제