חסכו ואמצו: Sparse Columns – מבט נוסף

יום שבת, ינואר 8, 2011

כתבתי פוסט ביקורתי בנושא לפני מספר ימים, וקיבלתי תגובות מחכימות ממיכאל זילברשטיין ורונן טל- שניהם בעלי נסיון בתחום, ומי אני שרק כתבתי פוסט שאתווכח איתם? הם צודקים: נכון שבטבלה בת עמודה אחת לא מרוויחים הרבה, אבל כשבודקים בטבלה מרובת עמודות - אז המצב שונה. ניצור שוב שתי טבלאות, הפעם בנות 100 עמדות Int, כשבראשונה הן Sparse ובשניה לא: Use tempdb; Go   If Object_Id('T1') Is Not Null Drop Table T1; If Object_Id('T2') Is...
אין תגובות

חסכו ואמצו: Sparse Columns

יום ראשון, דצמבר 26, 2010

Sparse Columns הוא בשורה שגרסת SQL 2008 הביאה עמה לפני כשנתיים: עמודות שרובן Nulls (כלומר- מאוכלסות בפועל במעט מאוד ערכים) יכולות להיות מוגדרות כ-Sparse Columns ואז הן תחסוכנה מקום שכן לא יוקצה שטח אחסון ל-Nulls אלא לערכים אמיתיים בלבד. נבדוק במה דברים אמורים- ניצור שתי טבלאות עם עמודת Int - בראשונה נגדיר אותה כ-Sparse ובשניה לא, לשתיהן נוסיף 100,000 שורות, ואולי אף נגזים ולעמודת ה-Sparse נכניס Nulls ולעמודה שאינה Sparse נכניס מספרים, ונבדוק כמה זה עולה לנו: Use tempdb; Go   ...
4 תגובות

נפח אחסון טבלאות

יום רביעי, ספטמבר 22, 2010

בפוסט זה אני עוסק בנפח טבלאות כפי שמחושב על ידי פרוצדורת המערכת 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 פשוטה T_1000000_NoIndex - טבלת Heap בת 1000000 שורות שתרוקן בעזרת פקודת Delete פשוטה T_1000000_ClusteredIndex - טבלה בת 1000000 שורות בעלת Clustered Index שתרוקן בעזרת פקודת Delete פשוטה T_1000000_Index - טבלה...