Ανάγνωση στα Αγγλικά

Κοινή χρήση μέσω


Table.Buffer

Σύνταξη

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

Περίπου

Αποθηκεύει προσωρινά έναν πίνακα στη μνήμη, απομονώνοντάς τον από εξωτερικές αλλαγές κατά τη διάρκεια της αξιολόγησης. Η αποθήκευση σε buffer είναι ρηχή. Επιβάλλει την αξιολόγηση οποιωνδήποτε ανυσματικών τιμών κελιών, αλλά αφήνει μη ανυσματικές τιμές (εγγραφές, λίστες, πίνακες και ούτω καθεξής) as-is.

  • table: Ο πίνακας για αποθήκευση στο buffer στη μνήμη.
  • options: [Προαιρετικό] Μπορούν να χρησιμοποιηθούν οι παρακάτω επιλογές εγγραφής τιμών:
    • BufferMode: Η λειτουργία buffer που περιγράφει τον τύπο της αποθήκευσης στο buffer που θα εκτελεστεί. Αυτή η επιλογή μπορεί να είναι είτε BufferMode.Eager είτε BufferMode.Delayed.

Η χρήση αυτής της συνάρτησης μπορεί να κάνει τα ερωτήματά σας να εκτελούνται ταχύτερα. Σε ορισμένες περιπτώσεις, αυτό μπορεί να κάνει τα ερωτήματά σας να εκτελούνται πιο αργά λόγω του πρόσθετου κόστους ανάγνωσης όλων των δεδομένων και αποθήκευσής τους στη μνήμη, καθώς και του γεγονότος ότι η αποθήκευση σε buffer αποτρέπει την κατάντη αναδίπλωση. Εάν τα δεδομένα δεν χρειάζεται να έχουν buffer, αλλά απλώς θέλετε να αποτρέψετε την κατάντη αναδίπλωση, χρησιμοποιήστε Table.StopFolding αντί για αυτό.

Παράδειγμα 1

Φορτώστε όλες τις γραμμές ενός πίνακα SQL στη μνήμη, έτσι ώστε οποιεσδήποτε λειτουργίες κατάντη δεν είναι πλέον σε θέση να υποβάλλουν ερωτήματα στον διακομιστή SQL.

χρήσης

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

εξόδου

table