Table.Buffer
Sintassi
Table.Buffer(table as table, optional options as nullable record) as table
Informazioni su
Memorizza nel buffer una tabella in memoria, isolandola da modifiche esterne durante la valutazione. Il buffering è superficiale. Forza la valutazione di qualsiasi valore di cella scalare, ma lascia invariati i valori non scalari (record, elenchi, tabelle e così via).
Si noti che l'uso di questa funzione potrebbe o meno rendere le query più veloci. In alcuni casi, è possibile che le query vengano eseguite più lentamente a causa del costo aggiuntivo di lettura di tutti i dati e dell'archiviazione in memoria, nonché il fatto che il buffering impedisce la riduzione downstream. Se i dati non devono essere memorizzati nel buffer, ma si vuole impedire la riduzione downstream, usare invece Table.StopFolding.
Esempio 1
Caricare tutte le righe di una tabella SQL in memoria, in modo che qualsiasi operazione downstream non sia più in grado di eseguire query su SQL Server.
Utilizzo
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(dbo_MyTable)
in
BufferMyTable
Output
table