Table.Buffer

语法

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

关于

在内存中缓冲一个表,同时在计算期间使其与外部更改隔离。 缓冲为浅缓冲。 它强制对任何标量单元值进行计算,但将非标量值(记录、列表、表等)按原样保留。

请注意,使用此函数可能会导致查询运行得更快。 在某些情况下,它可以使查询的运行速度变慢,因为读取所有数据并将其存储在内存中,并且缓冲会阻止下游折叠。 如果不需要对数据进行缓冲,而只是想防止下游折叠,请改用 Table.StopFolding

示例 1

将 SQL 表的所有行加载到内存中,从而使得所有下游操作都将无法再查询 SQL Server。

使用情况

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

输出

table