เติมปัจจัยเข้ามาเล่นเมื่อดัชนีถูกสร้างหรือสร้างใหม่ เป็นปริมาณการใช้สำหรับดัชนีของหน้าระดับลีฟที่เต็มไปด้วยในระหว่างการดำเนินการเหล่านี้ ( ดูหมายเหตุด้านล่างสำหรับคำชี้แจงเพิ่มเติมเกี่ยวกับระดับหน้าเว็บที่ได้รับผลกระทบ )
เมื่อมีคำสั่ง DML ข้อมูล ( INSERT
, UPDATE
และ / หรือDELETE
) ก็จะเกิดขึ้นกับดัชนีได้รับผลกระทบเหมือนกัน กล่าวอีกนัยหนึ่งถ้าคุณมีหน้าที่เติม 20% และคุณแทรกข้อมูลลงในหน้านั้นหน้านั้นจะมีข้อมูลมากกว่า 20% ของข้อมูล (สมมติว่า 35% เป็นเพียงตัวอย่างเท่านั้น) แทรกอีกอันตอนนี้หน้าเต็ม 64% สร้างดัชนีใหม่และหน้าระดับลีฟจะมีเปอร์เซ็นต์พื้นที่ที่คุณระบุ (หรือโดยปริยายค่าเริ่มต้นสำหรับเซิร์ฟเวอร์)
( หมายเหตุเมื่อคุณไม่ได้ระบุPAD_INDEX
ให้ON
ใส่ตัวประกอบจะใช้กับหน้าระดับลีฟเท่านั้น แต่เมื่อคุณตั้งค่าPAD_INDEX = ON
ตัวประกอบการเติมจะถูกนำมาพิจารณาสำหรับหน้าระดับกลางของดัชนี ค่าเริ่มต้นคือOFF
)
เหตุผลในการปรับปัจจัยเติม (แทนการใช้ค่าเริ่มต้น 100/0) คือเพื่อให้คุณลดการแบ่งหน้าเมื่อแทรกหรืออัปเดตข้อมูล แต่โปรดจำไว้ว่าไม่มีอะไรให้ฟรี ยิ่งปัจจัยเติมน้อยเท่าไรข้อมูลอวกาศก็จะมากขึ้นตามปกติ หากคุณรักษาพื้นที่ว่างหน้า 80% สำหรับดัชนีของคุณพวกเขาจะใช้พื้นที่ดิสก์จำนวนมากขึ้นซึ่งอาจทำให้อ่านได้มากขึ้น
จากความเข้าใจของฉันเมื่อข้อมูลถูกแทรกจะมีประมาณ 20% ของข้อมูลในหน้า อย่างไรก็ตามเมื่อมีการอัพเดทข้อมูลมันจะขยายไปเป็นดัชนีมากกว่า 20% เพื่อบรรจุและสร้างการแบ่งหน้าใช่ไหม?
เมื่อข้อมูลถูกแทรกมันจะแทรกลงในดัชนีที่เหมาะสมในหน้าที่เหมาะสม สิ่งนี้อาจเป็นไปได้ว่าการบริโภคหน้าจะสูงกว่าปัจจัยการเติม
การแบ่งหน้าจะเกิดขึ้นเมื่อมีการเพิ่มข้อมูลใหม่ในหน้าดัชนีแบบเต็ม SQL Server จะแบ่งหน้าและประมาณครึ่งหนึ่งของข้อมูลจากหน้าเต็มเป็นหน้าใหม่ อีกครั้งปัจจัยเติมไม่ได้มาเล่นที่นี่
เหตุผลที่ถูกต้องในการเติมปัจจัยการลดลงคือการย่อส่วนของหน้าให้เล็กที่สุด