ฉันมีตารางฐานข้อมูลสองตาราง หนึ่งมีหลายร้อยล้านบันทึก history
ให้เรียกว่าหนึ่ง อีกอันหนึ่งคำนวณจากรายวันและฉันต้องการคัดลอกบันทึกทั้งหมดลงในรายการhistory
หนึ่ง
สิ่งที่ฉันทำคือเรียกใช้:
INSERT INTO history SELECT * FROM daily
และมันก็มีเล่ห์เหลี่ยมอยู่พักหนึ่ง แต่มันก็เริ่มช้าลงเรื่อย ๆ ตามจำนวนเรคคอร์ดที่เพิ่มขึ้นเรื่อย ๆ ตอนนี้ฉันมีระเบียนประมาณ 2 ล้านรายการที่ต้องคัดลอกจากdaily
ไปยังhistory
ในการดำเนินการเดียวและใช้เวลานานกว่าจะเสร็จสมบูรณ์
มีวิธีอื่นที่มีประสิทธิภาพมากกว่าในการคัดลอกข้อมูลจากตารางหนึ่งไปอีกตารางหนึ่งหรือไม่?