2013-10-08 2 views
0

저는 Asp.net 웹 응용 프로그램을 개발 중입니다.많은 양의 데이터가있는 aspx 페이지에서 실행 속도를 높이는 방법 gridview

해당 응용 프로그램에서 나는 많은 양의 데이터가있는 폼에서 3 개의 그리드보기가있는 보고서를 표시해야합니다. 모든 그리드에서 페이지가 활성화됩니다.

사용자보기가 처음 3-5 번보고되면 제대로 작동하지만 이후에는 많은 시간이 걸립니다.

페이징 및 정렬시이 데이터를 사용할 수 있도록 grid-views 데이터를보기 상태로 저장하고 있습니다.

어느 한 문제가 무엇인지 말해 줄 수와 내가 어떻게 그 문제를 해결할 수

+0

일부 코드가 있습니다. 특히 쿼리와 GC (disposes)? – Kiquenet

답변

3

더 빨리 수행하려면 다음을 수행해야합니다.

  1. 페이징 : 현재 페이지에 대해 페이지 크기의 데이터 양만 저장되도록 표준 페이징 대신 사용자 지정 페이징을 수행하십시오. 성능이 크게 향상됩니다. 참조하시기 바랍니다 Custom Paging.

  2. 페이지에서 필요하지 않은 경우 컨트롤의보기 상태를 비활성화하십시오.

  3. 그리드보기 데이터가 읽기 전용 인 경우 캐싱을 사용할 수도 있습니다. Caching

+0

ViewState를 사용하지 않으려면 +1, GridView를 사용하면 독성이 높아집니다. – RealityDysfunction

+0

* 사용자 지정 호출 *에 대한 더 나은 참조? spaguetti 코드가 아니라 3 개의 레이어를 사용하고'List ' – Kiquenet

+0

첫 번째 예제 (1)을 사용하면 매우주의해야합니다. 쿼리 문자열 매개 변수에서 페이지 인덱스를 가져 와서 SQL 문에 매개 변수로 전달하지 않습니다. 이것은 SQL 삽입을 위해 울부 짖습니다. 항상 AddWithValue (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue(v=vs.110).aspx)를 사용해야합니다. – clamchoda

0

키우면 어려운 코드 및 서버에 대한 모든 정보를하지 않고 성능 문제를 해결합니다.

동시 처리 문제가있을 수 있습니까?

성능을 저하시키는 웹 페이지에서 다른 작업을 수행하고 있습니까?

웹 페이지가 서버에 단독으로 존재합니까? 아니면 자신을 방해 할 수있는 다른 앱이 있습니까?

나는 당신에게 어떤 단서를 줄 것으로 기대합니다.