Partager via


Table.Buffer

Syntaxe

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

À propos

Place une table dans la mémoire tampon, en l’isolant des modifications externes pendant l’évaluation. La mise en mémoire tampon est superficielle. Cette fonction force l’évaluation de toutes les valeurs de cellule scalaires, mais laisse les valeurs non scalaires (enregistrements, listes, tableaux, etc.) telles quelles.

Notez que l’utilisation de cette fonction peut ou non accélérer l’exécution de vos requêtes. Dans certains cas, cela peut ralentir l’exécution des requêtes en raison du coût supplémentaire de lecture et de stockage en mémoire de toutes les données, ainsi qu’en raison du fait que la mise en mémoire tampon empêche le folding en aval. Si les données n’ont pas besoin d’être mises en mémoire tampon, mais que vous souhaitez simplement empêcher le pliage en aval, utilisez Table.StopFolding à la place.

Exemple 1

Chargez toutes les lignes d’une table SQL en mémoire, afin que les opérations en aval ne puissent plus interroger le serveur SQL.

Utilisation

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

Sortie

table