Kori 3월 30일, 2022에 포스트됨 공유하기 3월 30일, 2022에 포스트됨 Docwiki에 있는 "FireDAC.Comp.DataSet.TFDDataSet.CachedUpdates"를 번역한 글: 번역일: 2022년 3월 30일) 위로 가기: TFDDataSet (이 글은 "설명" 부분만 번역했음. 클래스 선언, 부모, 메소드, 프로퍼티, 프로퍼티, 유닛, 기타 자료 등등은 CachedUpdates 원문에서 볼 것) 설명 (Description) 데이터셋 변경을 데이터베이스에 즉시 반영하지 않고 로그에 기록해 둘 것인지 여부를 명시한다. CachedUpdates는 데이터 변경 (Insert/Post, Edit/Post, Delete)을 데이터베이스에 즉시 반영하지 않고 "로그에 기록해 두기"를 활성화 (True) 또는 비활성화 (False) 한다. 애플리케이션에서는 반드시 명시적으로 ApplyUpdates 메소드를 호출하여 "변경 반영 (apply changes)"을 해야 변경 로그가 데이터베이스에 반영된다. 모든 변경은 각 트랜젝션 당 짧은 시간 내에 기록된. 캐시된 업데이트를 활성화하면 다음과 같은 주요 장점을 얻을 수 있다. 트랜젝션을 더 적게 사용하고 트랜젝션 시간이 더 짧아진다. 네트워크 트래픽이 최소화된다. 데이터셋에 되돌리기(undo) / 다시 적용하기(redo)를 구현하기가 간편하다. 애플리케이션에 오프라인 모드 즉 서류가방(briefcase) 모델을 구현할 수 있다. 캐시된 업데이트를 활성화함으로 인한 잠재적인 단점은 다음과 같다. 사용자가 로컬에 복사된 데이터를 편집하는 동안 다른 애플리케이션에서 데이터베이스 서버에 있는 실제 데이터에 접근하고 변경할 수도 있기 때문에 캐시된 업데이트가 데이터베이스에 반영될 때 변경 충돌이 발생될 수 있다. 캐시된 변경이 데이터베이스에 반영되기 전에는 무엇이 변경되었는 지를 다른 애플리케이션에서 알 수 없다. 주의: TFDTable에서 CachedUpdate 프로퍼티를 변경하려면, 반드시 비활성화 상태여야 한다. 예제 (Samples) FDQuery1.CachedUpdates := True; ... FDQuery1.Edit; ... FDQuery1.Post; ... FDQuery1.Append; ... FDQuery1.Post; ... FDQuery1.ApplyUpdates; FDQuery1.CommitUpdates; FDQuery1.CachedUpdates := False; 기타 자료 (See Also) 업데이트 캐싱하기 (Caching Updates) 번역보기 FireDAC.Comp.DataSet.TFDDataSet.ApplyUpdates FireDAC.Comp.DataSet.TFDDataSet.CancelUpdates FireDAC.Comp.DataSet.TFDDataSet.CommitUpdates 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.