나는 1000 개가 넘는 레코드를 포함하는 테이블에 바인딩 된 DataGrid 컨트롤을 가지고 있습니다. 한 번에 25 개의 레코드 만 표시하려고합니다. 나는 DataGrid에서 페이징을 사용했다. 그러나 다음 페이지 인덱스가 설정 될 때마다 쿼리가 다시 시작됩니다. 이것은 많은 시간을 필요로합니다. 그렇다면이 경우 데이터를 바인딩하여 성능을 향상시키는 가장 쉬운 방법은 무엇입니까? ??DataGrid를 바인딩하여 1000 개가 넘는 레코드가있는 테이블의 25 개 레코드 만 표시하는 방법은 무엇입니까?
1
A
답변
1
데이터 세트 캐싱을 고려하셨습니까? 캐시가 비어 있거나 만료 된 경우에만 데이터를 쿼리하면됩니다.
2
전체 데이터가 어쨌든 서버로 반환되기 때문에 캐싱을 사용하지 않는 것이 좋습니다.
데이터베이스에 대한 사용자 지정 페이징 쿼리를 사용하여 성능을 향상시킬 수 있습니다.
당신은 적어도 SQL 서버 2005로 작업하는 가정은 Here's a great article for your purpose with different benchmarking results
1
당신이 당신의 페이지 변경된 이벤트를 처리 할 때 새 페이지 정보에 끌어해야합니다. CurrentPageNumber 및 PageSize를 인수로 사용하는 저장 프로 시저를 만들어야합니다.
이것은 데이터를 가져올 때 이미 제공 한 다른 인수에 추가됩니다. 은 SP에서
, 당신은 임시 테이블이나 테이블 변수를 채우는 (또는 당신은 CTE를 사용할 수 있습니다) 당신이 반환하는 데이터뿐만 아니라 ROWNUMBER.How to return a page of results from SQL?
다음과 같습니다 1.좋은 자원이다 - 당신의 CurrentPageNumber 인수에 근거하여
, 당신은 CurrentPageNumber * 페이지 크기와 (CurrentPgaeNumber + 1) * 페이지 크기가 사이의 모든 결과를 반환 할 수 있습니다관련 문제
- 1. sqlite를 사용하여 1000 개가 넘는 레코드를 대량 삽입하는 방법은 무엇입니까?
- 2. JSP 페이지에 1000 개 레코드 표시
- 3. ASP.NET의 DirectorySearcher에서 1000 개가 넘는 레코드를 가져올 수 있습니까?
- 4. 연결된 레코드가있는 레코드 만 선택하십시오.
- 5. 드롭 다운 목록에 1000 개가 넘는 레코드가 표시되지 않습니다.
- 6. Virtuemart/Joomla 카테고리 1000 개가 넘는 항목이 매우 희박합니다.
- 7. 100 개가 넘는 이미지가있는 UIScrollView
- 8. 20 개가 넘는 필드가있는 양식을 디자인하는 가장 좋은 방법은 무엇입니까?
- 9. hibernate HQL 목록에 50000 개가 넘는 레코드를 가져올 수 없습니다.
- 10. Cassandra-cli가 100 개가 넘는 결과를 반환합니다.
- 11. 몇 개가 넘는 파티션이 의미가 없습니까?
- 12. 100,000,000 개가 넘는 레코드로 텍스트 파일 정렬
- 13. 600 개가 넘는 연결을 가진 MySQL
- 14. Recordset 만 1000 레코드를 반환합니다.
- 15. LINQ를 사용하여 1000 레코드 삽입
- 16. 관련된 모든 레코드가있는 레코드 찾기
- 17. 1000 개 이상의 하위 뷰가있는 UIScrollView를 구현하는 방법은 무엇입니까?
- 18. 다른 테이블의 누락 된 레코드가있는 테이블 업데이트
- 19. 테이블의 YUI 페이징 인피니티 레코드
- 20. 1,000,000,000 개가 넘는 행으로 구성된 거대한 테이블을 보관하는 모범 사례
- 21. NSMutableArray는 25 개 항목에 대해서만 사용 가능
- 22. 미리 채워진 데이터없이 삽입 모드로 DataGrid를 표시하는 방법은 무엇입니까?
- 23. JDBCTemplate이 1500 개가 넘는 레코드를 가져 오지 않았습니다.
- 24. nvarchar (최대) 필드에 8000 개가 넘는 MSSQL을 삽입하십시오.
- 25. Django 모델 개요 : 100 개가 넘는 항목을 표시 하시겠습니까?
- 26. PHPExcel이 5000 개가 넘는 행을 쓸 수없는 이유
- 27. 제한 XML 내가 100 개 개의 레코드가있는 XML 파일이
- 28. 다음 화면의지도에서 테이블의 위치를 표시하는 방법은 무엇입니까?
- 29. 테이블의 레코드 조합 확인
- 30. 500 만 개가 넘는 행의 MySQL 삽입 - x 개의 행마다 커밋 옵션이 필요합니까?