2008-10-10 4 views

답변

7

"결과를 DataTable에로드하는 대신"을 의미한다고 생각합니까?

장점 : 데이터로드 방법을 제어 할 수 있습니다. 특정 데이터 형식을 요청할 수 있으며 원하는 경우가 아니면 전체 데이터 집합을 동시에 메모리에로드하지 않아도됩니다. 기본적으로 데이터를 원하지만 데이터 테이블이 필요하지 않은 경우 (예 : 자신 만의 컬렉션을 채우기 위해) 중간 단계의 오버 헤드가 발생하지 않습니다.

단점 : 데이터로드 방식을 제어하고있어 실수를 저지르기 쉽고 더 많은 작업이 필요합니다.

여기에 어떤 사례가 있습니까? 정상적인 (또는 강하게 입력 된) 데이터 테이블을 사용하는 오버 헤드가 성능에 심각한 영향을 미친다고 믿을만한 이유가 있습니까? 나는 그렇게할만한 이유가 있다면 SqlDataReader를 직접 사용할 것입니다.

+0

나는 당신의 대답에 완전히 동의한다. –

1

당신이해야 할 일에 달려 있습니다. 데이터베이스에서 결과 페이지 (예 : 20 개 레코드)를 얻으면 데이터 어댑터를 사용하여 DataSet을 채우고이를 UI의 무언가에 바인딩하는 것이 좋습니다.

그러나 많은 레코드를 한 번에 하나씩 처리해야하는 경우 SqlDataReader를 사용하십시오.

1

장점 : 더 빠르고, 적은 메모리.

단점 : 연결된 상태로 있어야하며 리더기를 반드시 닫아야합니다.

3

SQLDataReader를 선택하는 주된 이유는 속도가 중요하다는 것입니다.

아직 언급되지 않은 단점 중 하나는 SQLDataReader가 전달 전용이므로 레코드를 한 번만 처리 할 수 ​​있다는 것입니다. 즉, 그렇게 빨리 처리 할 수있는 작업 중 하나입니다. 많은 경우에 괜찮지 만 레코드를 두 번 이상 반복하거나 데이터를 추가/편집/삭제해야하는 경우 대안 중 하나를 사용해야합니다.

또한 모든 레코드를 처리하고 판독기를 닫을 때까지 연결된 상태로 유지됩니다 (물론 이전에 닫으려고해도 나머지 레코드에는 액세스 할 수 없습니다). 레코드를 반복하면서 레코드를 오랫동안 처리하려고하면 다른 데이터베이스 연결에 영향을 줄 수 있습니다.

-1

데이터가 결론적이지 않을 수 있으며 길가에있는 우유 맨이 항상 데이터를 휴대해야하는 행동을 통제하지 못하거나 데이터로 인해 금이 간다. 경찰관이 휴대하지 않을 것입니다. 다른 사람들의 데이터를 유지하는 것이 잘못되었다고 생각하고 다른 사람의 데이터를 잘못 보관한다고 생각하기 때문에 모든 데이터. Sheffield에 살고있는 소녀가 있습니다. 그녀는 나가서 집에서 나가는 대부분의 시간을 즐긴다. 그래서 그녀의 부모님과 그녀의 다른 이야기가 평화의 정원으로 옮겨 졌기 때문에 그녀와 이야기하고 싶지 않습니다. 모두가 노래하고 머물기를 좋아합니다. 일반적으로 유명한 Celebs는 aroun dthere를 끊으려고하지만 우리가 그만두기를 원하지 않기 때문에 항상 최고의 보안이 있습니다. KK 지금 너는 2시 가고 서쪽 끝에서 차가워 질 필요가있다. 평화 "!!!"$$$ MOney MAN으로 만든 $$$$

관련 문제