ตามที่Craig Ringer :
แม้ว่าโดยทั่วไปจะเป็นความคิดที่ดีที่จะสร้างดัชนีใน (หรือรวมถึง) คอลัมน์คีย์ต่างประเทศอ้างอิงของคุณ แต่ก็ไม่จำเป็น แต่ละดัชนีคุณเพิ่มช้า DML การดำเนินงานลดลงเล็กน้อยเพื่อให้คุณจ่ายค่าใช้จ่ายการปฏิบัติงานในทุก
INSERT
, หรือUPDATE
DELETE
หากดัชนีนั้นไม่ค่อยได้ใช้อาจไม่คุ้มค่า
คุณจะทราบได้อย่างไรว่าผลประโยชน์ของการเพิ่มดัชนีเกินกว่าราคาหรือไม่
คุณโปรไฟล์หน่วยทดสอบก่อน / หลังเพิ่มดัชนีและตรวจสอบเพื่อเพิ่มประสิทธิภาพโดยรวมหรือไม่? หรือมีวิธีที่ดีกว่า
pg_stat_user_indexes
ช่วยแนะนำคุณเกี่ยวกับสิ่งนี้แสดงข้อมูลเกี่ยวกับการใช้ดัชนี ในการประเมินค่าใช้จ่ายในการบำรุงรักษาคุณสามารถดูกิจกรรมการเขียนตารางของคุณได้pg_stat_user_tables
แต่เนื่องจากความนิยมการอัปเดตทั้งหมดไม่จำเป็นต้องแตะที่ดัชนีดังนั้นคุณอาจประเมินค่าสูงไปเล็กน้อย