none
sql page count after rebuild index RRS feed

  • שאלה

  • היי ,

    יש לי  משהו שמטריד אותי שרציתי לשתף אותכם בו :

    יש לי טבלה עם קלסתר אינדקס  שהמשקל שלה    עם  page count=5120849

    ועם פרגמטציה של  avg_frag_in_percent=31

    לאחר שעשיתי rebuild ל אינדקס הפרגמנטציה ירדה לכמעט אפס  שזה נהדר אבל מספר page count

    נשאר אותו דבר וזה קצת תמוה  כי פרגמטציה היא תוצר של page split   - שזה גורם  ליצירה נוספת של דפים

    אחרי rebuild לאינדקס  אני  ציפיתי לראות page count נמוך יותר מאשר היה לפני ה rebuild.

    מדובר על   2005 SQL  standarad   והנתונים נילקחו מ :dm_db_index_physical_stats

    אשמח לתשובות ורעיונות

    שרון

    .

    יום שני 10 מרץ 2014 08:02

תשובות

  • הי שרון,

    הפרגמנטציה היא אכן תוצר של Page Splits, שזה אומר הוספה של דפים לאינדקס. כאשר מתרחש Page Split הנתונים מתחלקים שווה בשווה בין הדף המקורי לדף החדש, כך שכל דף מלא בערך 50%. אבל בלי קשר ל-Page Splits, אחוז התפוסה של דפים באינדקס משתנה כל הזמן. אתה יכול לראות את האחוז הממוצע בעמודה "avg_page_space_used_in_percent". מצד שני, כשאתה בונה אינדקס מחדש, הוא נבנה בהתאם להגדרת ה-Fillfactor המקורית (אלא אם כן ציינת במפורש Fillfactor אחר). ה-Fillfactor קובע את אחוז התפוסה של כל הדפים באינדקס בזמן שהוא נבנה מחדש. אם אחוז התפוסה הממוצע לפני הבניה מחדש יותר גבוה מה-Fillfactor, אז אחרי הבניה מחדש האינדקס יכיל יותר דפים מאשר קודם. אם אחוז התפוסה הממוצע נמוך מה-Fillfactor, אז האינדקס החדש יכיל פחות דפים. במקרה שלך, אם מספר הדפים נשאר פחות או יותר אותו דבר, אז כנראה שאחוז התפוסה הממוצע לפני הבניה מחדש היה פחות או יותר שווה ל-Fillfactor.

    מקווה שעזרתי...

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום שישי 14 מרץ 2014 17:34
    • סומן כתשובה על-ידי sharonof יום ראשון 16 מרץ 2014 10:22
    יום שלישי 11 מרץ 2014 09:34
    מנחה דיון
  • שבת שלום שרון

    האם התשובה של גיא מספקת ומתאימה או שאתה צריך פירוט?


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי sharonof יום ראשון 16 מרץ 2014 10:22
    יום שישי 14 מרץ 2014 17:34
    מנחה דיון

כל התגובות

  • הי שרון,

    הפרגמנטציה היא אכן תוצר של Page Splits, שזה אומר הוספה של דפים לאינדקס. כאשר מתרחש Page Split הנתונים מתחלקים שווה בשווה בין הדף המקורי לדף החדש, כך שכל דף מלא בערך 50%. אבל בלי קשר ל-Page Splits, אחוז התפוסה של דפים באינדקס משתנה כל הזמן. אתה יכול לראות את האחוז הממוצע בעמודה "avg_page_space_used_in_percent". מצד שני, כשאתה בונה אינדקס מחדש, הוא נבנה בהתאם להגדרת ה-Fillfactor המקורית (אלא אם כן ציינת במפורש Fillfactor אחר). ה-Fillfactor קובע את אחוז התפוסה של כל הדפים באינדקס בזמן שהוא נבנה מחדש. אם אחוז התפוסה הממוצע לפני הבניה מחדש יותר גבוה מה-Fillfactor, אז אחרי הבניה מחדש האינדקס יכיל יותר דפים מאשר קודם. אם אחוז התפוסה הממוצע נמוך מה-Fillfactor, אז האינדקס החדש יכיל פחות דפים. במקרה שלך, אם מספר הדפים נשאר פחות או יותר אותו דבר, אז כנראה שאחוז התפוסה הממוצע לפני הבניה מחדש היה פחות או יותר שווה ל-Fillfactor.

    מקווה שעזרתי...

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום שישי 14 מרץ 2014 17:34
    • סומן כתשובה על-ידי sharonof יום ראשון 16 מרץ 2014 10:22
    יום שלישי 11 מרץ 2014 09:34
    מנחה דיון
  • שבת שלום שרון

    האם התשובה של גיא מספקת ומתאימה או שאתה צריך פירוט?


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי sharonof יום ראשון 16 מרץ 2014 10:22
    יום שישי 14 מרץ 2014 17:34
    מנחה דיון