ฉันมีงานการรับส่งข้อมูล SSIS ซึ่งใช้เวลาเกือบ 20 นาทีในการตรวจสอบเมื่อดำเนินการ นี่คือไม่ว่าฉันจะใช้งานโดยตรงใน VS หรือดำเนินการแพคเกจจาก SSMS ก่อนที่จะทำการเปลี่ยนแปลงเล็กน้อย งานก็เสร็จสิ้นภายในไม่กี่นาที
การเปลี่ยนแปลงเดียวที่ฉันทำคือ:
การเปลี่ยนอินพุต OLE DB (สองรายการในงานนี้) จากการเชื่อมต่อโดยตรงกับตารางต้นฉบับเป็นการเชื่อมต่อกับมุมมองของตาราง มุมมองเหล่านี้ง่ายมาก เพียงรวมเข้ากับตารางเล็กๆ อีกตารางหนึ่งเพื่อต่อท้ายคอลัมน์ใดคอลัมน์หนึ่ง อินพุตหนึ่งมีประมาณ 3 ล้านแถว อินพุต 2 มีสองสามแสนแถว
แก้ไขการแปลงการค้นหาที่มีอยู่ (ฉันคิดว่าดีกว่า) เพื่อเปลี่ยนการเชื่อมต่อเป็น "SELECT col1, col2 FROM" แทนที่จะเชื่อมต่อโดยตรงกับตารางนี้ซึ่งมีความกว้างมาก
ก่อนการเปลี่ยนแปลงเหล่านี้ งานนี้เสร็จสิ้นภายในไม่กี่นาที ขณะนี้ ขณะที่ส่วนกระแสข้อมูลเสร็จสิ้นภายใน 1-2 นาที แต่ละขั้นตอนการตรวจสอบ (และมีอยู่สองขั้นตอน) จะใช้เวลา 17-20 นาที
มีบางอย่างเกี่ยวกับการมีมุมมองเป็นอินพุตที่ทำให้ขั้นตอนการตรวจสอบยุ่งยากหรือไม่