Table.Buffer
Помещает таблицу в буфер памяти, изолируя ее из внешних изменений во время оценки.
Syntax
Table.Buffer(
table as table,
optional options as record
) as table
Remarks
Помещает таблицу в буфер памяти, изолируя ее от внешних изменений во время оценки. Буферизация неглубокая. Она заставляет вычисляться все скалярные значения ячеек, но иные значения (записи, списки, таблицы и так далее) оставляет без изменений.
table: таблица для буферизации в памяти.options: (необязательно) Можно использовать следующие значения записей параметров:BufferMode: режим буферизации, определяющий тип буферизации, которую нужно выполнить. Этот параметр может принимать значенияBufferMode.EagerилиBufferMode.Delayed.
Использование этой функции может ускорить,но может и не ускорить выполнение запросов. В некоторых случаях это может замедлить выполнение запросов из-за дополнительных затрат на чтение всех данных и их хранение в памяти, а также из-за того, что буферизация препятствует нижестоящему свертыванию. Если данные не нужно буферизовать, но вы хотите предотвратить нижестоящее свертывание, используйте вместо этого Table.StopFolding.
Examples
Example #1
Загрузите все строки таблицы SQL в память, чтобы последующие операции больше не могли выполнять запросы к SQL Server.
let
Source = Sql.Database("SomeSQLServer", "MyDb"),
MyTable = Source{[Item="MyTable"]}[Data],
BufferMyTable = Table.Buffer(MyTable)
in
BufferMyTable
Result:
table
Category
Table.Other