Table.Buffer
Table.Buffer(table as table, optional options as nullable record) as table
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).
-
table
: tabella da memorizzare nel buffer in memoria. -
options
: [Facoltativo] È possibile usare i valori dei record di opzioni seguenti:-
BufferMode
: modalità buffer che descrive il tipo di buffering da eseguire. Questa opzione può essere BufferMode.Eager o BufferMode.Delayed.
-
L'uso di questa funzione potrebbe o meno rendere più veloci le query. 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.
Caricare tutte le righe di una tabella SQL in memoria, in modo che tutte le operazioni downstream non siano più in grado di eseguire query su SQL Server.
Utilizzo
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
Output
table