Прочитать на английском

Поделиться через


Table.Buffer

Синтаксис

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

Около

Буферизирует таблицу в памяти, изолируя ее от внешних изменений во время оценки. Буферизация неглубокая. Она заставляет вычисление любых скалярных значений ячеек, но оставляет не скалярные значения (записи, списки, таблицы и т. д.) as-is.

  • 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