Číst v angličtině

Sdílet prostřednictvím


Table.Buffer

Syntaxe

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

Asi

Uloží tabulku do vyrovnávací paměti a během vyhodnocení ji izoluje od externích změn. Vyrovnávání je mělké. Vynutí vyhodnocení všech skalárních hodnot buněk, ale u neskalárních hodnot (záznamů, seznamů, tabulek atd.) je ponechává beze změny as-is.

  • table: Tabulka, která se má ukládat do vyrovnávací paměti.
  • options: [Volitelné] Lze použít následující hodnoty záznamů:
    • BufferMode: Režim vyrovnávací paměti, který popisuje typ ukládání do vyrovnávací paměti, který se má provést. Tato možnost může být buď BufferMode.Eager, nebo BufferMode.Delayed.

Použití této funkce může nebo nemusí urychlit spouštění dotazů. V některých případech mohou vaše dotazy běžet pomaleji kvůli přidaným nákladům spojeným s čtením všech dat a jejich ukládáním do paměti, a také kvůli tomu, že ukládání do vyrovnávací paměti brání následnému skládání. Pokud data nemusejí být uložena do vyrovnávací paměti, ale chcete jen zabránit skládání následných procesů, použijte místo toho Table.StopFolding.

Příklad 1

Načtěte všechny řádky tabulky SQL do paměti, aby všechny podřízené operace už nemohly dotazovat sql server.

Použití

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

Výstup

table