Nhiều khi lấy dữ liệu có 2 cách:
- Join loạn xì ngậu với nhau. Thế là chỉ 1 câu query (loằng ngoằng) là xong.
- Bắt đầu select đơn giản để lấy ra cái IdX này, có cái IdX này lại lấy để select đơn giản ra được cái IdY tiếp theo, có cái IdY tiếp theo select đơn giản được cái IdZ tiếp theo nữa... Cuối cùng từ IdKn ta select đơn giản thêm phát nữa là có dữ liệu mong muốn!
Thế thì không biết nên làm cách truy vấn Join 1 phát nhưng dài ngoằng hay lần lượt select tẹo teo thì tốt nhỉ? Câu trả lời là không so sánh được khi không có context/case cụ thể! Thế nên đừng nghĩ nhiều?
Một số thứ nên biết liên quan tới câu hỏi đặt ra:
- Index (chỉ mục)
- Lệnh Explain
- Độ "phình" của bảng
- DB Server Configuration
Tham khảo: http://stackoverflow.com/questions/377729/performance-single-join-select-vs-multiple-simple-selects