저는 현재 회사의 관리 시스템을 개선하여 네트워크 트래픽 측면에서 좀 더 정교하게 운영하고 있습니다. 지금은 내가 마지막으로 물어 본 이후로 (모든 사용자가) 수정 한 레코드 만 쿼리하는 효과적인 방법을 찾으려고합니다.SQL Server 데이터베이스에서 수정 된 레코드 목록을 얻으려면 어떻게합니까?
응용 프로그램이 시작되면 작업 정보를로드하고 로컬로 다음과 같이 캐시합니다 (SELECT * FROM jobs
).
레코드가 수정 된 날짜/시간은 ala UPDATE jobs SET [email protected], LastModified=GetDate() WHERE [email protected]
입니다. 모든 사용자가 나는 다음과 같은 목록 요청한 마지막 시간 이후에 수정 된 모든 레코드에 질의 작업의 목록을 요청
: 요청의 SELECT * FROM jobs WHERE LastModified>[email protected]
을하고 날짜를 저장/시간이 @LastRequest로 통과 할 때 사용자가 다시 묻습니다. 이론적으로 이는 마지막 요청 이후 수정 된 레코드 만 반환합니다.
내가 겪고있는 문제는 사용자의 날짜/시간이 서버의 날짜/시간과 동기화되지 않은 경우와 인덱싱되지 않은 날짜/시간 열을 쿼리 할 때 서버로드와 동기화되지 않는 경우입니다. 날짜/시간 정보를 쿼리하는보다 효과적인 시스템이 있습니까?
+1 서버 측 datetimes에 대해서는 +1이 작동하지만, 다른 많은 이유로 중요합니다. –