Condividi tramite


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