Clustered Index & Fill Factor ועם איזו מזוודה לנסוע לחו"ל?

יום שלישי, אוקטובר 8, 2013

תזכורת לאלו ששכחו את החומר מהקורס ל-DBA-ים מתחילים: כשיוצרים טבלה או אינדקס ניתן להגדיר Fill Factor שמציין עד כמה למלא את ה-Pages בנתונים, מתוך כוונה להשאיר מקום פנוי לנתונים הבאים שיכנסו באמצע, כל זאת כדי למנוע Page Split – מצב בו ההמשך הסדרתי של דף מספר 100 אינו דף מספר 101 הסמוך אליו פיזית, אלא דף 1234 וממנו חזרה ל-101, מכיוון שהיה צורך "לדחוף" שורות חדשות באמצע ולא היה מקום. Brent Ozar סבור שההתעסקות בזה מיותרת, התועלת ממנה שולית, ובמקרים רבים שכרנו (השולי) יוצא בהפסדנו (הלא כל כך שולי). כך או כך ננסה לראות...
אין תגובות

אינדקסים וספריית אוניברסיטת חיפה

יום שני, נובמבר 29, 2010

בדרך כלל כשאני מתבקש להסביר מהו אינדקס, אילו סוגי אינדקסים קיימים, למה הם משמשים ואילו אופציות קיימות בהם- אני פותח ב-"שערו נא בנפשכם ש.." ואז ממשיל את הטבלה לספריה או אולי לספר טלפונים או אפילו לתוכן עניינים של ספר או רשימת קניות התלויה על המקרר; והמאזין בטוח שהעגבניות ברשימת הקניות הן Clusterd Index, הספרנית הממושקפת מהספריה היא הסטטיסטיקה, ו-"כהן אבי" מספר הטלפונים הוא Index Scan.. בקיצור- לך תסביר מה המשל ומה הנמשל! אנסה אם כך להיצמד למשל המוצלח מכולם – הספריה – להדגים את מה שניתן להדגים, ולהסתייג במקומות בהם המשל אינו דומה לנמשל.. בימי חלדי...

Index Fragmentation

יום רביעי, מאי 12, 2010

כשיוצרים Clustered Index מוגדר לו Fill Factor שקובע איזה אחוז מהדפים (Pages) יהיה מלא. הסיבה לכך היא שכשמוסיפים ערכים חדשים באמצע האינדקס ואין שם מקום פנוי (מה שקורה כשה-Fill Factor הוא 100%)- המערכת מוסיפה את הערך בדף חדש, ובדף המלא יוצרת הפניה אליו: יהיה מאוד לא יעיל "להזיז" את כל האינדקס מנקודת ההוספה ואילך מקום אחד קדימה, ולכן אין ברירה אלא לפצל אותו ובכך ליצור פרגמנטציה. כמובן שכשיש מקום פנוי- מכניסים לשם את הערך החדש. ניצור טבלה חדשה על בסיס טבלה קיימת ב-AdventureWorks, נכניס לתוכה 200 רשומות אקראיות...