חישוב גודל אינדקסים ובמה לטפל

יום שישי, ינואר 26, 2018

  חיפוש באינטרנט אחר סקריפטים לחישוב גודל אינדקסים (storage size) מחזיר הרבה דוגמאות דומות המתבססות על טבלת המערכת sys.allocation_units (למשל כאן). הבעייה היא שהסקריפט מטפל באינדקסים "רגילים", וכך קרה שפיספסתי אינדקסים על XML.. החלופה היא לפנות לפונקציית המערכת sys.dm_db_index_physical_stats , למשל כך (טבלה מסויימת): Select S.index_id, (Select name From sys.indexes I Where I.object_id=Max(S.object_id) And I.index_id=S.index_id), 8*Sum(page_count) 'Indexsize(KB)' From sys.dm_db_index_physical_stats(DB_ID(),Object_ID('MyTbl'),Null,Null,Null) S Group By index_id Order By Desc; למה זה טוב? להרבה דברים, למשל - להתבסס עליו כדי לגלות את האינדקסים הלא...
אין תגובות

שימוש ב-Compression

יום חמישי, מאי 10, 2012

אופציית ה-Compression (כיווץ) התווספה ב-SQL Server 2008, אך רק בגרסאות Enterprise Edition (מעוטי היכולת פטורים איפוא מלקרוא את המשך הפוסט). הכיווץ מתבצע הן ברמת הדיסק והן ברמת הדכרון הפנימי, וכך הנתונים תופסים פחות מקום, פחות פעולות IO יקרות, פחות קריאה מהזכרון, אבל יותר שימוש ב-CPU. מכיוון שבדרך כלל פעולות ה-IO הן היקרות ביותר (מכיוון שמדובר בפעולות מכניות ולא אלקטרוניות) ו-SQL Server הוא זולל משאבי זכרון בלתי נלאה- הרווח הגדול שלנו בשני הסעיפים עולה לנו בגידול זניח ב-CPU שלרוב אינו מהווה צוואר בקבוק. קצת מזכיר את השימוש באינדקסים- שיפור בביצועים מצד אחד וגידול בעלויות האחסון...
אין תגובות