พอมีความรู้ด้านนี้อยู่บ้างเพราะต้องยุ่งกับข้อมูลใน DB จำนวนมากๆ (30M / Table) ขอ share เป็น idea นะครับ
1. การ Join ตัว DBMS ไม่ได้ใช้วิธีการ คูณ 2 Table เข้าด้วยกันนะคับ มี Technique มากมายที่ทำให้ได้ผลลัพธ์เร็วขึ้น
2. จากคำถามที่ท่านถามมาว่าถ้ามี 2 Table ใช้วิธีการ Query 2 ครั้งหรือใช้ Query (Join) แค่ครั้งเดียวดีกว่า
ถ้าวิธีแรกใช้การ Query 2 ครั้งแล้วมา Mapping ข้อมูลระหว่าง Table แรกกับ Table ที่ 2 เองน่าจะช้ากว่ามากครับ เปลือง resource บนเครื่อง client (แรม) สำหรับวน loop mapping ข้อมูลด้วยครับ โดยวิธีการ Join จะเร็วแค่ไหนขึ้นอยู่กับว่าวิธีการที่ DBMS เลือกดึงข้อมูล (execution plan) ดีแค่ไหน หลักคือต้องมี index ที่เหมาะกับการดึงข้อมูลครับ
ตอบแล้วทำให้งงเข้าไปอีกรึเปล่าครับ

*ข้อมูลจาก Oracle, MS SQL Server จะรู้สึกได้ถ้าข้อมูล 1M Up / Table นะครับ MySQL ยังไม่เคยลองข้อมูลเยอะๆ ครับ