데이터 가능한 업데이트 문제
-
06-07-2019 - |
문제
수천 행을 저장하고 무언가를 한 후 업데이트하는 가장 좋은 방법은 무엇입니까?
현재 나는 삽입 할 때 DataTable을 사용하여 채우고 있습니다.
MyDataAdapter.Update(MyDataTable)
MyDatatable에 약간의 변경을 한 후에는 MyDataAdapter.Update (MyDatatable) 메소드를 다시 사용합니다.
편집하다:
더 많은 정보를 제공하지 않아 죄송합니다.
XML 파일에서 최대 200.000 행이 생성 될 수 있습니다. 데이터베이스에 행이 저장됩니다. 이후 각 행에 대한 프로세스가 있습니다. 데이터베이스에서 각 행을 업데이트해야합니다.
행별로 행을 업데이트하는 대신 데이터 가능한 데이터를 업데이트하고 동일한 DataAdapter를 사용하여 행을 업데이트하기로 결정했습니다.
이것은 내 최고입니다.
더 똑똑한 접근 방식이있을 수 있다고 생각합니다.
해결책
귀하의 의견에 반응 할 때 :
an DataAdapter.Update()
행별로 행을 UDATE (및 삽입/삭제)합니다. 개별 변경 사항이 있다면 실제로 더 빠른 방법은 없습니다. 체계적인 변화가있는 경우 SET Price = Price+ 2 WHERE SelByDate < '1/1/2010'
당신은 a DBCOMMAND 데이터베이스에 대해.
그러나 성능 전에 거래 및 오류 처리에 대해 걱정해야 할 수도 있습니다.
다른 팁
내가 올바르게 이해하면 두 개의 개별 작업을 수행하고 있습니다 : 행을 데이터베이스에로드 한 다음 해당 행을 업데이트합니다.
삽입중인 행이 다른 ADO.NET 지원 데이터 소스에서 나온 경우 SQLBULKCOPY를 사용하여 행을 배치에 삽입 할 수 있습니다.
행이 데이터베이스에 있으면 SQLCommand를 실행하여 값을 수정하는 것이 좋습니다.
당신이 무엇을 그리고 왜-당신이 질문을하고 있는지에 대한 자세한 내용을 제공 할 수 있다면 아마도 우리는 그것에 대한 답을 더 잘 맞출 수있을 것입니다.