Trang chủ>  Blog >  Kiến thức chuyên môn >  Subquery vs Temp Table – Ưu nhược điểm

Subquery vs Temp Table – Ưu nhược điểm


Khi viết truy vấn phức tạp, bạn có hai lựa chọn: subquery (truy vấn lồng) hoặc temp table (bảng tạm). Hiểu rõ ưu – nhược điểm của từng cách sẽ giúp bạn tối ưu hiệu năng và bảo trì dễ dàng.

  301 lượt xem

Nội dung bài viết

1. Subquery là gì? Temp Table là gì?

  • Subquery: Một câu truy vấn nằm trong SELECT, FROM, hoặc WHERE của truy vấn khác.
    Temp Table: Một bảng tạm lưu trong bộ nhớ hoặc đĩa, có thể JOIN nhiều lần.

Ví dụ subquery:

SELECT customer_name,

       (SELECT SUM(total_amount)

        FROM orders o

        WHERE o.customer_id = c.id) AS revenue

FROM customers c;

Ví dụ temp table:

CREATE TEMP TABLE sales_2025 AS

SELECT customer_id, SUM(total_amount) AS revenue

FROM orders

WHERE order_date BETWEEN '2025-01-01' AND '2025-12-31'

GROUP BY customer_id;

 

SELECT c.customer_name, s.revenue

FROM customers c

LEFT JOIN sales_2025 s ON c.id = s.customer_id;

2. Ưu – nhược điểm

Subquery:
• Gọn gàng, không cần tạo bảng tạm.
• Thích hợp khi chỉ dùng một lần.
❌ Khó debug khi lồng nhiều cấp, hiệu năng có thể chậm.

Temp Table:
• Dễ debug (có thể SELECT riêng).
• JOIN nhiều lần hiệu quả.
❌ Tốn I/O, cần xóa bảng tạm sau khi dùng.

3. Giá trị mang lại

🎓 Học viên: Hiểu khi nào chọn subquery, khi nào chọn temp table.
🏢 Doanh nghiệp: Truy vấn dễ mở rộng, giảm thời gian chạy khi xử lý dữ liệu lớn.

4. Điều kiện áp dụng tốt

  • Subquery cho logic nhỏ, một lần sử dụng.
    • Temp table khi cần join nhiều lần, hoặc muốn lưu kết quả trung gian để kiểm tra.
    • Luôn kiểm tra execution plan để tránh quét bảng nhiều lần không cần thiết.

5. Kết luận

Không có lựa chọn “chuẩn” cho mọi tình huống – hãy chọn công cụ phù hợp với mục tiêu: đơn giản → subquery, tái sử dụng & dễ debug → temp table.

🎓 Khóa học SQL tại MCI Academy
• So sánh hiệu năng subquery vs temp table với dataset thật.
• Thực hành refactor truy vấn “bún” thành pipeline rõ ràng.
📞 Hotline: 0352.433.233
📧 Email: cskh@mcivietnam.com

 

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


Từ SQL đến Big Data – Lộ Trình Kỹ Năng Chuẩn Cho Data Engineer

Data Engineer là người thiết kế, xây dựng và vận hành “đường ống” dữ liệu. Nhưng để trở thành Data Engineer giỏi, bạn cần đi theo một lộ trình kỹ năng rõ ràng – bắt đầu từ nền tảng SQL, tiến đến Big Data và Cloud.

Data Lake vs Data Warehouse: Khác Nhau Ở Điểm Nào?

Trong thời đại dữ liệu bùng nổ, “Data Lake” và “Data Warehouse” là hai thuật ngữ thường xuyên được nhắc đến. Tuy nhiên, không ít người mới vào nghề nhầm lẫn hoặc dùng hai khái niệm này thay thế cho nhau. Vậy Data Lake là gì, Data Warehouse là gì, và chúng khác nhau ở đâu?

SQL là gì? Vì sao SQL là kỹ năng bắt buộc cho Data Analyst

Trong bài viết này, chúng ta sẽ cùng tìm hiểu SQL là gì, vì sao nó là kỹ năng bắt buộc cho Data Analyst, và cách bắt đầu học SQL hiệu quả.

Các bài viết liên quan