מיטוב שאילתות (אופטימיזציה שאילתות) נעשה על ידי רכיב שנקרא ממטב השאילתות (Query Optimizer). הממטב הוא רכיב שמקבל שאילתת משתמש, למשל SQL, ומייצר תוכנית לביצוע השאילתא.
הממטב נשען על סטטיסטיקות מהמסד, למשל גודל טבלאות (Relation Cardinality, מספר הרשומות) ותדירויות ערכים (Attribute Domains, כמה פעמים ערך מופיע). בנוסף הוא קורא מטא-מידע מהקטלוג, כמו קיום אינדקסים ויחסי תלות בין טבלאות.
- תרגום השאילתא לשפה פרוצדורלית, למשל RA (Relational Algebra).
- נרמול הביטוי ושקלול אופציות ביצוע.
- בניית עץ תכנון ביצוע.
- הערכת "מחיר" ביצוע לכל תכנית ובחירת הטובה ביותר.
מיטוב שאילתות עוזר למסד נתונים להריץ שאילתות מהר יותר. שאילתה היא שאלה שמבקשים מהמחשב על נתונים.
חלק שנקרא ממטב השאילתות (החלק שמחליט איך להריץ את השאלה) מקבל את השאילתה ומבנה תוכנית פעולה.
הממטב מסתכל על מספר הרשומות בטבלאות (כמה שורות יש) ועל כמה פעמים ערכים חוזרים. הוא גם בודק אם יש אינדקסים.
- מעביר את השאילתה לשפה שמציגה פעולות על טבלאות.
- מיישר ושוקל אפשרויות.
- בונה עץ תכנון.
- מחשב מי ההצעה הכי טובה.
תגובות גולשים