Table.Buffer

Syntax

Table.Buffer(table as table, optional options as nullable record) as table

Info

Puffert eine Tabelle im Arbeitsspeicher und schützt sie so während der Auswertung vor externen Änderungen. Die Pufferung ist flach. Sie erzwingt die Auswertung skalarer Zellenwerte, behält jedoch nicht skalare Werte (z. B. Datensätze, Listen oder Tabellen) unverändert bei.

Beachten Sie, dass die Verwendung dieser Funktion dazu führen kann, dass Ihre Abfragen schneller ausgeführt werden. Dies ist jedoch nicht unbedingt der Fall. In manchen Fällen kann sie eine langsamere Ausführung Ihrer Abfragen bewirken. Dies ist auf die zusätzlichen Kosten für das Lesen aller Daten und das Speichern im Arbeitsspeicher sowie auf die Tatsache zurückzuführen, dass die Pufferung eine nachfolgende Faltung verhindert. Wenn die Daten nicht gepuffert werden müssen, sie aber nur nachgeschaltete Faltung verhindern möchten, verwenden Sie stattdessen Table.StopFolding.

Beispiel 1

Lädt all Zeilen einer SQL-Tabelle in den Arbeitsspeicher, sodass die SQL Server-Instanz in Downstreamvorgängen nicht mehr abgefragt werden kann.

Verwendung

let
    Source = Sql.Database("SomeSQLServer", "MyDb"),
    MyTable = Source{[Item="MyTable"]}[Data],
    BufferMyTable = Table.Buffer(dbo_MyTable)
in
    BufferMyTable

Ausgabe

table