DCSIMG
sp_SpaceUsed - גרי רשף

Browse by Tags

All Tags » sp_SpaceUsed (RSS)
כתבתי פוסט ביקורתי בנושא לפני מספר ימים, וקיבלתי תגובות מחכימות ממיכאל זילברשטיין ורונן טל- שניהם בעלי נסיון בתחום, ומי אני שרק כתבתי פוסט שאתווכח איתם? הם צודקים: נכון שבטבלה בת עמודה אחת לא מרוויחים הרבה, אבל כשבודקים בטבלה מרובת עמודות - אז המצב שונה. ניצור שוב שתי טבלאות, הפעם בנות 100 עמדות Int, כשבראשונה הן Sparse ובשניה לא: Use tempdb; Go   If Object_Id( 'T1' ) Is Not Null Drop Table T1; If Object_Id( 'T2' ) Is Not Null Drop Table T2; Go   Create Table T1(I00 Int...
Sparse Columns הוא בשורה שגרסת SQL 2008 הביאה עמה לפני כשנתיים: עמודות שרובן Nulls (כלומר- מאוכלסות בפועל במעט מאוד ערכים) יכולות להיות מוגדרות כ-Sparse Columns ואז הן תחסוכנה מקום שכן לא יוקצה שטח אחסון ל-Nulls אלא לערכים אמיתיים בלבד. נבדוק במה דברים אמורים- ניצור שתי טבלאות עם עמודת Int - בראשונה נגדיר אותה כ-Sparse ובשניה לא, לשתיהן נוסיף 100,000 שורות, ואולי אף נגזים ולעמודת ה-Sparse נכניס Nulls ולעמודה שאינה Sparse נכניס מספרים, ונבדוק כמה זה עולה לנו: Use tempdb; Go   If Object_Id( 'T1'...
בפוסט זה אני עוסק בנפח טבלאות כפי שמחושב על ידי פרוצדורת המערכת SP_SpaceUsed, והשפעת פעולות הכנסת המידע ומחיקתו עליו. ניצור תשע טבלאות, נכניס לתוכן מספרים, נחשב את נפחן בעזרת SP_SpaceUsed, נרוקן אותן – בדרכים שונות, ושוב נחשב את נפחן בעזרת SP_SpaceUsed: T_1000_NoIndex -טבלת Heap בת 1000 שורות שתרוקן בעזרת פקודת Delete פשוטה T_1000_ClusteredIndex -טבלה בת 1000 שורות בעלת Clustered Index שתרוקן בעזרת פקודת Delete פשוטה T_1000_Index -טבלה בת 1000 שורות בעלת Index רגיל שתרוקן בעזרת פקודת Delete פשוטה...