Compartilhar via


Table.Buffer

Sintaxe

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

Sobre

Armazena em buffer uma tabela na memória, isolando-a de alterações externas durante a avaliação. O buffer é superficial. Ele força a avaliação de quaisquer valores de célula escalar, mas deixa valores não escalares (registros, listas, tabelas e assim por diante) as-is.

  • table: a tabela a ser armazenada em buffer na memória.
  • options: [Opcional] Os seguintes valores de registro de opções podem ser usados:

Usar essa função pode ou não fazer suas consultas serem executadas mais rapidamente. Em alguns casos, isso pode fazer com que suas consultas sejam executadas mais lentamente devido ao custo adicional de ler todos os dados e armazená-los na memória, bem como o fato de que o buffer impede a dobra downstream. Se os dados não precisarem ser armazenados em buffer, mas você quiser apenas impedir a dobra downstream, use Table.StopFolding em vez disso.

Exemplo 1

Carregue todas as linhas de uma tabela SQL na memória, para que todas as operações downstream não sejam mais capazes de consultar o SQL Server.

Usage

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

Saída

table