3
ทำไมตัวดำเนินการแบบขนาน (Repartition Streams) จะลดการประมาณแถวเป็น 1
ฉันใช้ SQL Server 2012 Enterprise ฉันเจอแผน SQL ที่แสดงพฤติกรรมบางอย่างที่ฉันไม่พบว่าใช้งานง่าย หลังจากการดำเนินการสแกนดัชนีแบบขนานขนาดใหญ่การดำเนินการแบบขนาน (Repartition Streams) เกิดขึ้น แต่กำลังฆ่าการประมาณแถวที่ถูกส่งคืนโดยดัชนีการสแกน (Object10.Index2) ลดการประมาณการเป็น 1 ฉันได้ทำการค้นหาบางอย่างแล้ว แต่ ยังไม่เจออะไรที่อธิบายพฤติกรรมนี้ แบบสอบถามค่อนข้างง่ายแม้ว่าแต่ละตารางจะมีระเบียนเป็นล้าน ๆ นี่เป็นส่วนหนึ่งของกระบวนการโหลด DWH และชุดข้อมูลระดับกลางนี้มีการแตะสองสามครั้งตลอด แต่คำถามที่ฉันมีเกี่ยวข้องกับการประมาณแถวโดยเฉพาะ บางคนสามารถอธิบายได้หรือไม่ว่าเหตุใดการประมาณแถวที่ถูกต้องจึงไปที่ 1 ในตัวดำเนินการขนาน (Repartition Strems) นอกจากนี้ ฉันได้ส่งแผนเต็มรูปแบบเพื่อวางแผน นี่คือการดำเนินการที่เป็นปัญหา: รวมแผนผังต้นไม้ในกรณีที่เพิ่มบริบทเพิ่มเติม: ฉันสามารถใช้รูปแบบบางอย่างของรายการเชื่อมต่อที่ยื่นโดย Paul White ได้หรือไม่ (อธิบายเพิ่มเติมในเชิงลึกบนบล็อกของเขาที่นี่ ) อย่างน้อยมันก็เป็นสิ่งเดียวที่ฉันพบว่าดูเหมือนจะอยู่ใกล้กับสิ่งที่ฉันกำลังวิ่งเข้าไปในระยะไกลถึงแม้ว่าจะไม่มีโอเปอร์เรเตอร์ที่เล่น