# 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\{사용자}\Documents\Qlik\Sense\Buffers(Qlik Sense Desktop))에 저장됩니다.

QVD 파일의 이름은 계산된 이름으로, 다음 LOAD 또는 SELECT 문 및 기타 식별 정보 전체의 160비트 16진수 해시입니다. 따라서 QVD 버퍼는 다음 LOAD 또는 SELECT 문에서 변경이 있으면 무효가 됩니다.

일반적으로 QVD 버퍼는 앱 내에서 버퍼를 만든 전체 스크립트가 실행되는 동안 더 이상 참조되지 않거나 버퍼를 만든 앱이 더 이상 존재하지 않으면 제거됩니다.

인수:

인수

| 인수 | 설명 |
| --- | --- |
| 증분 | incremental 옵션은 원본 파일의 일부분만 읽는 기능을 사용합니다. 파일의 이전 크기는 QVD 파일의 XML 헤더에 저장됩니다. 이 기능은 특히 로그 파일에 유용합니다. 이전 항목에서 로드된 모든 레코드는 QVD 파일에서 읽어들이고 새로운 후속 레코드는 원본 소스에서 읽어들여서 최종적으로 업데이트된 QVD 파일을 만듭니다.<br><br>이 incremental 옵션은 LOAD 문 및 텍스트 파일에만 사용할 수 있습니다. 기존 데이터를 변경하거나 삭제하는 경우 증분 로드를 사용할 수 없습니다. |
| stale [after] amount [(days \| hours)] | amount는 기간을 지정하는 수입니다. 소수를 사용할 수 있습니다. 단위를 생략한 경우 days가 사용됩니다.<br><br>stale after 옵션은 원본 데이터에 단순 타임스탬프가 없는 DB 소스에서 일반적으로 사용됩니다. 대신 얼마나 오래된 QVD 스냅샷까지 사용 가능한지 지정합니다. stale after 절은 QVD 버퍼가 생성된 이후 기간이 얼마나 지나면 더 이상 유효하지 않은 것으로 간주할지 지정합니다. 이 기간이 되기 전까지는 QVD 버퍼가 데이터 소스로 사용되며 그 이후로는 원본 데이터 소스가 사용됩니다. 그러면 QVD 버퍼 파일이 자동으로 업데이트되고 새로운 기간이 시작됩니다. |

제한 사항:

여러 제한 사항 가운데 가장 중요한 것은 모든 복합 문의 핵심에 파일 LOAD 또는 SELECT 문이 있어야 한다는 것입니다.

예 1:

`Buffer SELECT * from MyTable;`

예 2:

`Buffer (stale after 7 
 days) SELECT * from MyTable;`

예 3:

`Buffer (incremental) LOAD 
 * from MyLog.log;`