Table.Buffer
Syntaxis
Table.Buffer(table as table, optional options as nullable record) as table
Over
Buffert een tabel in het geheugen, waarbij deze wordt geïsoleerd van externe wijzigingen tijdens de evaluatie. Buffering is beperkt. Het dwingt de evaluatie van scalaire celwaarden af, maar laat niet-scalaire waarden (records, lijsten, tabellen enzovoort) as-is.
-
table
: de tabel die moet worden gebufferd in het geheugen. -
options
: [Optioneel] De volgende opties recordwaarden kunnen worden gebruikt:-
BufferMode
: de buffermodus die het type buffering beschrijft dat moet worden uitgevoerd. Deze optie kan BufferMode.Eager of BufferMode.Delayedzijn.
-
Als u deze functie gebruikt, kunnen uw query's al dan niet sneller worden uitgevoerd. In sommige gevallen kunnen uw query's langzamer worden uitgevoerd vanwege de extra kosten voor het lezen van alle gegevens en het opslaan ervan in het geheugen, evenals het feit dat buffering downstream folding voorkomt. Als de gegevens niet hoeven te worden gebufferd, maar u alleen downstream folding wilt voorkomen, gebruikt u in plaats daarvan Table.StopFolding.
Voorbeeld 1
Laad alle rijen van een SQL-tabel in het geheugen, zodat downstreambewerkingen geen query's meer kunnen uitvoeren op de SQL-server.
Gebruik
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
uitvoer
table