ฉันเป็นกระบวนการในการวางแผนการโยกย้ายแบบสดของฐานข้อมูล 2TB ไปยังตารางที่แบ่งพาร์ติชัน ระบบกำลังพูดอย่างกว้างขวางในการจัดเก็บเอกสารพื้นที่ส่วนใหญ่ถูกจัดสรรให้กับ LOBs ระหว่าง 50kb และ 500kb โดยมีเปอร์เซ็นต์เล็กน้อยในช่วง 500kb ถึง 1MB ส่วนหนึ่งของการโยกย้ายจะเกี่ยวข้องกับข้อมูล BCPing จากฐานข้อมูลเก่าไปยังฐานข้อมูลใหม่
BCP เป็นวิธีการที่ต้องการเนื่องจากการแบ่งปัจจุบัน / ประวัติศาสตร์ในข้อมูลอนุญาตให้แยกข้อมูลเก่าในขั้นตอน (ในช่วงเวลาที่เงียบสงบ) ล่วงหน้าของสวิตช์สุดท้ายซึ่งช่วยลดผลกระทบต่อระบบถ่ายทอดสด ปริมาณของข้อมูลและความพร้อมของการจัดเก็บติ๊ดในแหล่งกำเนิดสร้างโครงการพาร์ทิชัน
ฉันสงสัยว่าอาจมีการเพิ่มประสิทธิภาพบางอย่างจากการทดลองกับ KILOBYTES_PER_BATCH มากกว่า ROWS_PER_BATCH เนื่องจากเนื้อหา BLOB แนะนำในเอกสารคู่มือBCPที่ SQL สามารถปรับการดำเนินงานให้เหมาะสมตามค่านี้
สิ่งที่ฉันไม่สามารถหาได้คือแนวทางใด ๆ เกี่ยวกับลักษณะของการเพิ่มประสิทธิภาพเหล่านี้หรือที่ที่จะเริ่มการทดสอบของฉัน ในความไม่สมบูรณ์ของคำแนะนำฉันจะลองวิ่งระยะสั้นที่ขอบเขต 4/8/16/32 / 64mb เพื่อเริ่มต้น
อาจได้ประโยชน์จากการเปลี่ยนขนาดแพ็คเก็ต (พารามิเตอร์ BCP -a แทนที่จะเป็นการตั้งค่าระดับเซิร์ฟเวอร์) แต่ฉันมีแนวโน้มที่จะชนสิ่งนี้เป็นจำนวนสูงสุด 65535 เว้นแต่ว่าใครมีวิธีการสูตรมากขึ้น