Table.Buffer
통사론
Table.Buffer(table as table, optional options as nullable record) as table
소개
메모리의 테이블을 버퍼링하여 평가 중에 외부 변경 내용으로부터 격리합니다. 버퍼링은 얕습니다. 스칼라 셀 값을 강제로 계산하지만, 스칼라가 아닌 값(레코드, 목록, 테이블 등)은 변경하지 않고 그대로 둡니다. as-is.
-
table
: 메모리에서 버퍼링할 테이블입니다. -
options
: [선택 사항] 다음 옵션 레코드 값을 사용할 수 있습니다.-
BufferMode
: 수행할 버퍼링 유형을 설명하는 버퍼 모드입니다. 이 옵션은 BufferMode.Eager 또는 BufferMode.Delayed로 설정할 수 있습니다.
-
이 함수를 사용하면 쿼리 실행 속도가 빨라질 수도 있고 그렇지 않을 수도 있습니다. 경우에 따라 버퍼링이 다운스트림 폴딩을 방지한다는 사실뿐만 아니라 모든 데이터를 읽고 메모리에 저장하는 추가 비용으로 인해 쿼리가 더 느리게 실행될 수 있습니다. 데이터를 버퍼링할 필요가 없지만 다운스트림 접기를 방지하려면 대신 Table.StopFolding 사용합니다.
예제 1
모든 다운스트림 작업이 더 이상 SQL 서버를 쿼리할 수 없도록 SQL 테이블의 모든 행을 메모리에 로드합니다.
사용량
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
출력
table