แชร์ผ่าน


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 ได้อีกต่อไป

การใช้งาน

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

ผลลัพธ์ของ

table