데이터 테이블 비교에 사용되는 새 시스템을 설정하고 있습니다. 어떤 일이 발생합니까 :데이터 테이블과 임시 저장소의 차이 계산
내 소프트웨어는 데이터를 쓰거나 구조를 변경할 수있는 옵션이없는 타사 데이터베이스를 쿼리합니다. 결과는 DataTable입니다. 현재이 데이터 테이블은 동기화 된 다음 XML로 디스크에 저장됩니다. 다음 동기화에서 쿼리는 다시 DataTable을 반환합니다. 그런 다음 디스크에서 저장된 datatable을로드하고 diff를 계산하기 시작합니다 : 새 레코드, 변경된 레코드 및 삭제 된 레코드. diff 레코드 만 동기화되고 저장된 XML은 최신 쿼리로 바뀝니다.
이 작업은 정상적으로 수행되지만 큰 쿼리의 경우 성능이 떨어집니다. 따라서 우리는 대신 SQL Server (2008 이상) 데이터베이스에서 데이터를 전환하고 저장하려고합니다. 이를 위해 우리는 베스트 프랙티스를 찾고 있습니다. 우리가 생각한 한 가지는 레코드에 대한 일종의 해시를 계산하고이를 사용하여 레코드가 변경되었는지 확인하는 것입니다. 시스템은 모든 유형의 DataTable에 대해 일을해야하므로 엄격한 열 구조가 필요하지 않습니다.
SQL Server는 이러한 기능을 지원합니까? 아니면 코드에서 해시를 계산하여 SQL에 저장하는 것이 더 낫습니다. 우리는 전체 기록을 저장할 필요가 없다고 생각했습니다. 새 레코드가 소스 테이블에 있습니다. 수정 된 레코드의 경우 변경 사항을 찾기 위해 해시를 사용하면 충분하며 제거 된 레코드의 경우 대상 시스템의 레코드를 삭제할 수 있도록 레코드의 기본 키를 저장하는 것으로 충분합니다.
미안하지만, 무슨 뜻인지 실마리가 없습니다. 당신은 아마 어떤 종류의 예가 있습니까? – Jasper