2
การปรับปรุงประสิทธิภาพการอัปเดตเป็นกลุ่มใน PostgreSQL
ใช้ PG 9.1 บน Ubuntu 12.04 ขณะนี้เราใช้เวลาถึง 24 ชั่วโมงในการเรียกใช้ชุดคำสั่ง UPDATE จำนวนมากบนฐานข้อมูลซึ่งเป็นรูปแบบ: UPDATE table SET field1 = constant1, field2 = constant2, ... WHERE id = constid (เราแค่เขียนทับฟิลด์ของวัตถุที่ระบุด้วย ID) ค่ามาจากแหล่งข้อมูลภายนอก (ยังไม่ได้อยู่ในฐานข้อมูลในตาราง) ตารางมีดัชนีไม่กี่ข้อและไม่มีข้อ จำกัด ของรหัสต่างประเทศ ไม่มีการกระทำใด ๆ จนกว่าจะสิ้นสุด ใช้เวลา 2 ชั่วโมงในการนำเข้าpg_dumpฐานข้อมูลทั้งหมด ดูเหมือนว่าพื้นฐานนี้เราควรตั้งเป้าหมายอย่างสมเหตุสมผล ขาดการผลิตโปรแกรมที่กำหนดเองซึ่งสร้างชุดข้อมูลสำหรับ PostgreSQL เพื่อนำเข้าอีกครั้งมีอะไรที่เราสามารถทำได้เพื่อให้ประสิทธิภาพการอัพเดทจำนวนมากใกล้เคียงกับการนำเข้าหรือไม่ (นี่คือพื้นที่ที่เราเชื่อว่าต้นไม้ที่ผสานโครงสร้างบันทึกการจัดการดี แต่เราสงสัยว่ามีอะไรที่เราสามารถทำได้ภายใน PostgreSQL) ความคิดบางอย่าง: วางดัชนีที่ไม่ใช่ ID ทั้งหมดและสร้างใหม่ในภายหลังหรือไม่ การเพิ่ม …