System.OutOfMemoryException
당신이 메모리에 너무 많은 데이터를로드하려고한다는 것을 의미 당신은 필요 . 각 요청의 부하가 적은 데이터 당신은 행의 수를 반환 제한하는 결과 또는 TOP
절을 필터링 할 WHERE
절을 사용할 수 있습니다
예 TOP
의 :.
SELECT TOP 1000 * FROM tablename
WHERE
의
예 :
SELECT * FROM tablename WHERE ID < 500
결국 당신이 정말로 당신의 테이블에있는 모든 행을로드해야 할 경우 페이징 시스템을 사용해야합니다. 즉, TOP
으로 반환되는 행 수를 제한하고 모든 "페이지"에 대해 주어진 양의 행을 "건너 뜁니다".
SQL Server에서 페이징에 대한 소개는 this page을 참조하십시오. *
후 값이 1000 * currentPageCount
같은 현재 페이지를 나타내는 동적 값으로 대체 할 것 실제 예에서
// page 0
SELECT TOP 1000 * FROM tablename
// page 1
SELECT TOP 1000 * FROM tablename WHERE ID > 1000 * 1
// page 2
SELECT TOP 1000 * FROM tablename WHERE ID > 1000 * 2
// page 5
SELECT TOP 1000 * FROM tablename WHERE ID > 1000 * 5
: 여기
은 증분 연속
ID
정책이 가정 일반적인 페이징 예입니다
이 오류가 발생하는 코드를 표시 할 수 있습니까? – Wndrr
select * from tablename –
절대로 SELECT * FROM tablename .. 할 WHERE 절이 있습니까? 근본적으로 전체 테이블을 당겨 내려고합니다. – Patrick