Buffer
QVD 파일은 buffer 접두사를 통해 자동으로 생성 및 유지 관리할 수 있습니다. 이 접두사는 스크립트에서 대부분의 LOAD 및 SELECT 문에 사용할 수 있습니다. 이 접두사는 해당 문의 결과를 캐시/버퍼링하는 데 QVD 파일을 사용하도록 지정합니다.
구문:
Buffer [(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
옵션이 사용되지 않으면 스크립트가 처음 실행될 때 생성된 QVD 버퍼가 무제한으로 사용됩니다.
버퍼 파일은 Buffers 하위 폴더(일반적으로 C:\ProgramData\Qlik\Sense\Engine\Buffers(서버 설치) 또는 C:\Users\{user}\Documents\Qlik\Sense\Buffers(Qlik Sense Desktop)에 저장됩니다.
QVD 파일의 이름은 계산된 이름으로, 다음 LOAD 또는 SELECT 문 및 기타 식별 정보 전체의 160비트 16진수 해시입니다. 따라서 QVD 버퍼는 다음 LOAD 또는 SELECT 문에서 변경이 있으면 무효가 됩니다.
일반적으로 QVD 버퍼는 앱 내에서 버퍼를 생성한 전체 스크립트가 실행되는 동안 더 이상 참조되지 않거나 버퍼를 생성한 앱이 더 이상 존재하지 않으면 제거됩니다.
인수:
인수 | 설명 |
---|---|
incremental |
incremental 옵션은 원본 파일의 일부분만 읽는 기능을 사용합니다. 파일의 이전 크기는 QVD 파일의 XML 헤더에 저장됩니다. 이 기능은 특히 로그 파일에 유용합니다. 이전 항목에서 로드된 모든 레코드는 QVD 파일에서 읽어들이고 새로운 후속 레코드는 원본 소스에서 읽어들여서 최종적으로 업데이트된 QVD 파일을 만듭니다. 이 incremental 옵션은 LOAD 문 및 텍스트 파일에만 사용할 수 있습니다. 기존 데이터를 변경하거나 삭제하는 경우 증분 로드를 사용할 수 없습니다. |
stale [after] amount [(days | hours)] |
amount는 기간을 지정하는 수입니다. 소수를 사용할 수 있습니다. 단위를 생략한 경우 days가 사용됩니다. stale after 옵션은 원본 데이터에 단순 타임스탬프가 없는 DB 소스에서 일반적으로 사용됩니다. 대신 얼마나 오래된 QVD 스냅샷까지 사용 가능한지 지정합니다. stale after 절은 QVD 버퍼가 생성된 이후 기간이 얼마나 지나면 더 이상 유효하지 않은 것으로 간주할지 지정합니다. 이 기간이 되기 전까지는 QVD 버퍼가 데이터 소스로 사용되며 그 이후로는 원본 데이터 소스가 사용됩니다. 그러면 QVD 버퍼 파일이 자동으로 업데이트되고 새로운 기간이 시작됩니다. |
제한 사항:
여러 제한 사항 가운데 가장 중요한 것은 모든 복합 문의 핵심에 파일 LOAD 또는 SELECT 문이 있어야 한다는 것입니다.
예 1:
예 2:
예 3: