2016-08-16 4 views
0

캐시 인터 시스템즈 DB 테이블의 마지막 업데이트 시간을 알고 싶습니다. 관련 명령을 알려주십시오. 나는 그들의 명령 문서를 훑어 보았다 :cache intersystems 명령을 사용하여 테이블의 마지막 업데이트 타임 스탬프를 얻습니다.

그러나 거기에는 그런 명령이 없다. 또한 검색을 시도했습니다 :

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_currenttimestamp 

이 명령의 전체 설명서가 아닌가요?

답변

1

캐시는 DML 작업에 불필요한 성능 저하를 초래할 수 있으므로 기본적으로 "마지막으로 업데이트 된"정보를 유지 관리하지 않습니다.

Property LastUpdated As %TimeStamp [ SqlComputeCode = { Set {LastUpdated}= $ZDT($H, 3) }, SqlComputed, SqlComputeOnChange = (%%INSERT, %%UPDATE) ]; 

이 방법은 모든 행 삽입/마지막 업데이트 시간을 유지하는 것입니다,하지만 여전히 그것을 삭제와 함께 당신을 도울 것입니다 :

당신은 관심의 모든 테이블에 수동으로 필드를 추가 할 수 있습니다.

또는 다른 테이블에서 타임 스탬프를 유지하는 모든 DML 작업에 트리거를 설정할 수 있습니다.

추가 코딩없이이 정보를 수집하는 유일한 방법은 저널 파일을 스캔하는 것입니다. 저널 파일은 실제로는 사용하지 않으며 느리게 실행됩니다.