เมื่อจะรวมหลายตารางเข้าด้วยกันแล้วคิวรี มี 3 ตัวเลือกที่ใช้ได้: CTE, View, Temporary Table

  • CTE : เพราะเป็นการรวมซับคิวรีและคำนวณแบบเรียลไทม์อย่างต่อเนื่อง ถ้าซับคิวรีช้าก็จะช้าตามไปด้วย
  • View : ทำงานคล้าย CTE แต่สามารถอ้างอิงได้และไม่ต้องทำซับคิวรีเดิมซ้ำตลอด อย่างไรก็ตามก็ยังคำนวณแบบเรียลไทม์อยู่ดี ในกรณีของ PostgreSQL มี Materialized View ที่เก็บลงดิสก์ได้ แต่ SQLite ไม่มี
  • Temporary Table : เก็บข้อมูลลงดิสก์ได้เหมือนตารางจริง และสามารถสร้างดัชนีได้ด้วย แต่จะมีอยู่แค่ตอนที่ DB connection ยังเปิดอยู่เท่านั้น
    • SQLite จะเก็บตารางชั่วคราวไว้ในฐานข้อมูล temp แยกต่างหาก
    • temp db ถูกจัดการเป็นไฟล์แยกบนดิสก์โดยเฉพาะ และมองเห็นได้เฉพาะ DB connection ปัจจุบันเท่านั้น
    • เมื่อ connection สิ้นสุดลงจะถูกลบอัตโนมัติ
  • Temporary Table เหมาะสำหรับใช้สำรวจและทดลองกับข้อมูล จึงหยิบมาใช้งานได้อย่างสะดวก

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น