Table.Buffer
語法
Table.Buffer(table as table, optional options as nullable record) as table
關於
在記憶體中緩衝處理資料表,使其在評估期間與外部變更隔離。 緩衝處理是淺層的。 其會強制評估任何數值類值,但將非數值類值 (記錄、清單、資料表等) 保留原狀。
-
table
:要緩衝記憶體中的數據表。 -
options
:[選擇性] 可以使用下列選項記錄值:-
BufferMode
:描述要執行的緩衝類型的緩衝區模式。 這個選項可以是 "BufferMode.Eager" 或 "BufferMode.Delayed"。
-
使用此函式可能會或可能不會讓您的查詢執行得更快。 在某些情況下,由於讀取所有資料並將其儲存在記憶體中,以及緩衝防止下游摺疊,因此查詢的執行速度可能會變慢。 如果數據不需要緩衝處理,但您只想防止下游折疊,請改用 Table.StopFolding。
範例 1
將 SQL 資料表的所有數據列載入記憶體中,讓任何下游作業都無法再查詢 SQL Server。
使用方式
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
輸出
table