다음을 통해 공유


Table.Buffer

통사론

Table.Buffer(table as table, optional options as nullable record) as table

소개

메모리의 테이블을 버퍼링하여 평가 중에 외부 변경 내용으로부터 격리합니다. 버퍼링은 얕습니다. 스칼라 셀 값을 강제로 계산하지만, 스칼라가 아닌 값(레코드, 목록, 테이블 등)은 변경하지 않고 그대로 둡니다. as-is.

  • table: 메모리에서 버퍼링할 테이블입니다.
  • options: [선택 사항] 다음 옵션 레코드 값을 사용할 수 있습니다.

이 함수를 사용하면 쿼리 실행 속도가 빨라질 수도 있고 그렇지 않을 수도 있습니다. 경우에 따라 버퍼링이 다운스트림 폴딩을 방지한다는 사실뿐만 아니라 모든 데이터를 읽고 메모리에 저장하는 추가 비용으로 인해 쿼리가 더 느리게 실행될 수 있습니다. 데이터를 버퍼링할 필요가 없지만 다운스트림 접기를 방지하려면 대신 Table.StopFolding 사용합니다.

예제 1

모든 다운스트림 작업이 더 이상 SQL 서버를 쿼리할 수 없도록 SQL 테이블의 모든 행을 메모리에 로드합니다.

사용량

let
    Source = Sql.Database("SomeSQLServer", "MyDb"),
    MyTable = Source{[Item="MyTable"]}[Data],
    BufferMyTable = Table.Buffer(MyTable)
in
    BufferMyTable

출력

table