英語で読む

次の方法で共有


Table.Buffer

構文

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

バージョン情報

テーブルをメモリ内でバッファー処理して、評価中に外部から変更されないように分離します。 バッファリングは浅いです。 スカラー セル値の評価は強制的に実行されますが、非スカラー値 (レコード、リスト、テーブルなど) はそのまま残ります。

この関数を使うと、クエリの実行速度が速くなることも、速くならないこともあることに注意してください。 場合によっては、すべてのデータを読み取ってメモリに格納するという追加コストと、バッファリングによってダウンストリームのフォールディングが妨げられることが原因で、クエリの実行速度がより遅くなることもあります。 データをバッファー処理する必要はなく、ダウンストリームのフォールディングを防ぐだけの場合、代わりに Table.StopFolding を使用してください。

例 1

SQL テーブルのすべての行をメモリに読み込むと、ダウンストリーム操作で SQL サーバーのクエリを実行できなくなります。

使用方法

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

出力

table