1
ไวยากรณ์ของ INNER JOIN ซ้อนอยู่ภายใน OUTER JOIN เปรียบเทียบกับผลการสืบค้น
TLDR; หากคุณดูที่แผนปฏิบัติการ 2 แบบมีคำตอบที่ง่ายกว่ากันหรือไม่? ฉันไม่ได้ตั้งใจสร้างดัชนีเพื่อให้ง่ายต่อการดูว่าเกิดอะไรขึ้น การติดตามคำถามก่อนหน้าของฉันที่เราพบความแตกต่างของประสิทธิภาพการค้นหาระหว่างสไตล์การเข้าร่วมที่แตกต่างกัน (เช่นซ้อนกับดั้งเดิม) ฉันได้ตระหนักว่าไวยากรณ์ที่ซ้อนกันยังปรับเปลี่ยนพฤติกรรมของแบบสอบถาม พิจารณา 2 แบบสอบถามต่อไปนี้ SELECT a.*, m.*, n.* FROM dbo.Autos a LEFT JOIN dbo.Models m JOIN dbo.Manufacturers n -- <-- Nested INNER JOIN ON n.ManufacturerID = m.ManufacturerID ON m.ModelID = a.ModelID สิ่งนี้ไม่จำเป็นต้องทำให้ผู้ผลิตเข้าร่วมเพื่อรวมแถว auto กับ ModelID ที่ไม่ได้อยู่ในตาราง Models การใช้ไวยากรณ์แบบดั้งเดิมเราต้องเปลี่ยนการเข้าร่วมเป็นผู้ผลิตเป็นการรวมภายนอกเช่น ... แต่สิ่งนี้เปลี่ยนแผนแบบสอบถาม SELECT a.*, m.*, …