8 điểm bởi xguru 2022-05-20 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Khi cần gom nhiều bảng thành một để truy vấn, có 3 lựa chọn: CTE, View, Temporary Table

  • CTE: vì gom các subquery lại và liên tục tính toán theo thời gian thực, nên nếu subquery chậm thì toàn bộ cũng sẽ chậm theo
  • View: hoạt động tương tự CTE nhưng có thể được tham chiếu lại và không phải lặp lại subquery liên tục. Tuy vậy, về cơ bản vẫn là tính toán theo thời gian thực. Với PostgreSQL chẳng hạn, có Materialized View được lưu trên đĩa, nhưng SQLite thì không có
  • Temporary Table: lưu dữ liệu trên đĩa như một bảng thực thụ và cũng có thể tạo index. Tuy nhiên, nó chỉ tồn tại khi kết nối DB còn sống
    • SQLite lưu temporary table trong một cơ sở dữ liệu temp riêng biệt
    • temp DB được quản lý như một tệp riêng trên đĩa và chỉ hiển thị với kết nối DB hiện tại
    • Khi kết nối kết thúc, nó sẽ tự động bị xóa
  • Temporary table rất phù hợp để tìm hiểu và thử nghiệm với dữ liệu, nên có thể tận dụng một cách thoải mái

Chưa có bình luận nào.

Chưa có bình luận nào.