Table.Buffer
Syntaks
Table.Buffer(table as table, optional options as nullable record) as table
Omtrent
Gemmer en tabel i buffer i hukommelsen og isolerer den fra eksterne ændringer under evalueringen. Bufferlagring er lavvandet. Den gennemtvinger evalueringen af skalarcelleværdier, men lader ikke-skalarværdier (poster, lister, tabeller osv.) as-is.
-
table
: Den tabel, der skal bufferlagres i hukommelsen. -
options
: [Valgfri] Følgende postværdier kan bruges:-
BufferMode
: Den buffertilstand, der beskriver den type bufferlagring, der skal udføres. Denne indstilling kan enten være BufferMode.Eager eller BufferMode.Delayed.
-
Brug af denne funktion får måske eller måske ikke dine forespørgsler til at køre hurtigere. I nogle tilfælde kan det få dine forespørgsler til at køre langsommere på grund af de ekstra omkostninger ved at læse alle dataene og gemme dem i hukommelsen samt det faktum, at bufferlagring forhindrer downstream-foldning. Hvis dataene ikke behøver at blive bufferlagret, men du blot vil forhindre downstream-foldning, skal du i stedet bruge Table.StopFolding.
Eksempel 1
Indlæs alle rækkerne i en SQL-tabel i hukommelsen, så alle downstream-handlinger ikke længere kan forespørge SQL-serveren.
brug
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
output
table