ปัญหาอะไรที่บ่งบอกถึงความกระตือรือร้น


27

กำลังทำงานบน SQL Server 2008 R2

ฉันกำลังพยายามเพิ่มประสิทธิภาพของคำสั่ง UPDATE ฉันสังเกตเห็นการทำงานของ Eager Spool ใน showplan โผล่ขึ้นมา ความเข้าใจของฉันเกี่ยวกับการทำสปูลนั้นค่อนข้างธรรมดา - พวกมันสร้างที่เก็บข้อมูลชั่วคราวสำหรับตารางในระหว่างการอัพเดท

ฉันยังรู้ว่าในขณะที่พวกเขากำลังป้องกันเวลาการดำเนินการที่เลวร้ายกว่ามาก, spools ความกระตือรือร้นมักจะบ่งบอกถึงปัญหาพื้นฐานของโครงสร้างตารางและ / หรือคำสั่งแบบสอบถาม

คำถามของฉันค่อนข้างง่าย: เมื่อคุณเห็น Eager Spool ในแผนคิวรีของคุณคุณพบปัญหาอะไรก่อน

ฉันจะวิเคราะห์ทุกส่วนของระบบของเราเพื่อเพิ่มประสิทธิภาพ - ฉันแค่มองหาคำแนะนำว่าควรเริ่มจากตรงไหน


คุณสามารถแสดงแผนได้หรือไม่? สิ่งของอาจหมายถึงสิ่งต่าง ๆ มากมาย
usr

และอีกสองสามกรณีที่สิ่งนี้อาจปรากฏในUPDATEคือถ้าตารางมีการอ้างถึงคีย์ต่างประเทศหรือการเข้าถึง UDF ที่เข้าถึงข้อมูลหรือไม่มีสคีมาผูกไว้
Martin Smith

คำตอบ:


18

ฉันพยายามเพิ่มประสิทธิภาพของคำสั่ง UPDATE ฉันสังเกตเห็นการทำงานของ Eager Spool ใน showplan โผล่ขึ้นมา

สิ่งของกระตือรือร้นที่อาจจะเพิ่มความหลากหลายของเหตุผลรวมทั้งเพื่อป้องกันฮาโลวีนหรือเพื่อเพิ่มประสิทธิภาพของ I / O เมื่อการรักษาดัชนี

โดยไม่เห็นแผนการดำเนินการ (แม้แต่รูปภาพ) มันยากที่จะแน่ใจว่าสถานการณ์เหล่านี้อาจใช้กับกรณีใดของคุณ ถ้าความไวของข้อมูลที่เป็นกังวลพิจารณาอัปโหลดรุ่นที่ไม่ระบุชื่อของแผนสำหรับการวิเคราะห์โดยใช้SentryOne แผน Explorer ที่

อาจเป็นไปได้ว่า Eager Spool ไม่ใช่สิ่งที่คุณควรให้ความสนใจ มีหลายปัจจัยที่ส่งผลต่อประสิทธิภาพที่แท้จริงของคิวรีที่เปลี่ยนแปลงข้อมูล หากคุณกำลังพยายามปรับแต่งตามค่าเปอร์เซ็นต์ที่ประมาณไว้ที่แสดงสำหรับผู้ประกอบการ Eager Spool โปรดพิจารณาว่าการประมาณการเหล่านั้นสร้างขึ้นโดยใช้แบบจำลองที่ไม่ได้มีจุดประสงค์เพื่อจับคู่ความสามารถของการกำหนดค่าฮาร์ดแวร์เฉพาะของคุณ


2

บางครั้งสปูลกระตือรือร้นสามารถหลีกเลี่ยงได้เมื่อมีโอเปอเรเตอร์การบล็อกอื่นเข้ามาแทนที่ - ตัวอย่างเช่น ดังนั้นจึงเป็นความคิดที่ดีที่จะตรวจสอบให้แน่ใจว่าข้อมูลได้ถูกจัดเรียงตามเวลาที่มาถึงขั้นนั้นแล้ว (ดัชนีที่ขาดหายไปอาจ?)

หากมีการป้องกันฮาโลวีนตามที่คนอื่น ๆ บอกว่ามีน้อยคุณสามารถทำได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.