คำถามติดแท็ก cross-apply

2
Outer Apply vs Left Join Performance
ฉันใช้ SQL Server 2008 R2 ฉันเพิ่งเจอ APPLY ใน SQL และชอบที่จะแก้ปัญหาการสืบค้นสำหรับหลาย ๆ กรณี ตารางจำนวนมากที่ฉันใช้ 2 left join เพื่อให้ได้ผลลัพธ์ฉันสามารถสมัครนอก 1 ครั้งได้ ฉันมีข้อมูลจำนวนเล็กน้อยในตารางฐานข้อมูลท้องถิ่นของฉันและหลังจากการปรับใช้รหัสควรทำงานบนข้อมูลอย่างน้อย 20 ครั้งใหญ่ ฉันกังวลว่าการใช้งานภายนอกอาจใช้เวลานานกว่าเงื่อนไขการเข้าร่วม 2 ด้านซ้ายสำหรับข้อมูลจำนวนมาก ทุกคนสามารถบอกได้ว่าการนำไปใช้งานได้อย่างไรและจะส่งผลต่อประสิทธิภาพการทำงานอย่างไรในข้อมูลที่มีขนาดใหญ่มากถ้าเป็นไปได้ความสัมพันธ์เชิงสัดส่วนกับขนาดของแต่ละตารางเช่นสัดส่วนกับ n1 ^ 1 หรือ n1 ^ 2 ... โดยที่ n1 คือจำนวนแถวในตาราง 1 นี่คือแบบสอบถามที่มี 2 ซ้ายเข้าร่วม select EC.*,DPD.* from Table1 eC left join ( select …

2
CROSS ใช้ผลิตการรวมภายนอก
เพื่อเป็นการตอบสนองต่อการนับ SQL ที่แตกต่างกันบนพาร์ติชัน Erik Darling โพสต์รหัสนี้เพื่อหลีกเลี่ยงการขาดCOUNT(DISTINCT) OVER (): SELECT * FROM #MyTable AS mt CROSS APPLY ( SELECT COUNT(DISTINCT mt2.Col_B) AS dc FROM #MyTable AS mt2 WHERE mt2.Col_A = mt.Col_A -- GROUP BY mt2.Col_A ) AS ca; แบบสอบถามใช้CROSS APPLY(ไม่OUTER APPLY) ดังนั้นเหตุใดจึงมีการรวมภายนอกในแผนการดำเนินการแทนการเข้าร่วมภายใน ทำไมการไม่แสดงความคิดเห็นกลุ่มโดยประโยคส่งผลให้เข้าร่วมภายใน? ฉันไม่คิดว่าข้อมูลมีความสำคัญ แต่คัดลอกจาก kevinwhat จากคำถามอื่น: create table #MyTable ( …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.