2009-01-09 2 views
0

내 프로그램이 여러 개의 업데이트로 데이터베이스를 조회하는 경우 테이블을 데이터 세트로 가져 와서 값을 변경 한 다음 다시 데이터베이스로 전송하는 것이 좋습니다. 더 비싼 것이 누구인지 압니까?더 많은 비용 : 데이터 세트 또는 다중 업데이트?

+0

질문 : "더 비싸다"는게 무엇을 의미합니까? 실행 시간 측면에서 보면 비용이 더 많이 들까? 개발이나 유지 보수 비용이 더 비쌉니까? –

+0

미안하지만, 나는 실행 시간을 의미했다. 동일한 수의 업데이트입니다. 물론 일부 DB는 하나의 큰 SQL 문과 작은 SQL 문에서 성능 차이가있을 수 있지만, 수천 개의 레코드를 수행하지 않으면 이러한 차이를 볼 수 없습니다. – Soviut

답변

1

데이터베이스는 로컬 데이터 집합에 대해 수행 한 편집을 기반으로 모든 업데이트를 수행해야합니다. 내가 알기에 순차적으로 갱신하는 것만 큼 비싸지. 유일한 장점은 하나의 결과를 끌어서 푸시하기보다는 데이터 세트를 반복하는 것이 더 쉽다는 것입니다.

+0

Soviut, DataSet 클래스는 일괄 업데이트를 지원합니다. 데이터베이스로의 단일 왕복이 제공됩니다. –

+0

(예외 처리는 제외). – dkretz

0

DataSet의 크기에 따라 다릅니다. 데이터 세트가 너무 크면 가치가 없습니다. 그렇지 않으면 좋은 접근 방식 일 수 있습니다. 그러나 DataSet을 사용하지 않고도 일괄 적으로 여러 업데이트를 수행 할 수 있습니다. 일괄 업데이트를 수행 할 XML 매개 변수를 사용하여 저장 프로 시저를 작성할 수 있습니다.

1

비용이 많이 드는 것은 "가장 비용이 적게 드는"비용을 선택했기 때문에 발생할 수있는 잠재적 예외를 처리하기위한 모든 대안 코드입니다. 조기 최적화.

+0

동의. 그러나 DB 대역폭이 문제라면 특히 사소한 일이 아닙니다. –

+1

그런 다음 의사 결정 정보를 사용할 수있는 적절한 시간에 최적화하십시오. – dkretz

관련 문제