מיטוב שאילתות – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
Gveret Tered (שיחה | תרומות) מ בינויקי, קטגוריה, מעט עריכה |
||
שורה 1: | שורה 1: | ||
'''אופטמיזציית שאילתות''' |
'''אופטמיזציית שאילתות''' מבוצעת על ידי רכיב '''Query Optimizer''' במערכת ניהול [[בסיס נתונים]]. רכיב זה מקבל כקלט שאילתת משתמש (למשל [[SQL]]) ואחראי לייצר תוכנית לביצוע השאילתא. על מנת לבצע משימה זו נעזר האופטימייזר בסטטיסטיקות שונות הנאספות מבסיס הנתונים (למשל גודל [[טבלה|הטבלאות]] (Relation Cardinality) או תדירויות שונות של ערכים (Attribute Domains). כמו כן האופטימייזר נעזר במטא-מידע של הטבלאות מתוך קטלוג המערכת (כגון מידע על קיום אינדקסים, מידע על יחסי תלות בין הטבלאות). |
||
==שלבי תהליך האופטימיזציה== |
|||
; תרגום השאילתא לביטוי ב[[שפה פרוצדורלית]] (כגון [[RA]]) : |
; תרגום השאילתא לביטוי ב[[שפה פרוצדורלית]] (כגון [[RA]]) : |
||
שורה 5: | שורה 7: | ||
; העברת הביטוי לצורת [[עץ תכנון ביצוע]]: |
; העברת הביטוי לצורת [[עץ תכנון ביצוע]]: |
||
; הערכת מחיר הביצוע: |
; הערכת מחיר הביצוע: |
||
[[קטגוריה:מבני נתונים]] |
|||
[[en:Query optimization]] |
גרסה מ־19:49, 2 באפריל 2006
אופטמיזציית שאילתות מבוצעת על ידי רכיב Query Optimizer במערכת ניהול בסיס נתונים. רכיב זה מקבל כקלט שאילתת משתמש (למשל SQL) ואחראי לייצר תוכנית לביצוע השאילתא. על מנת לבצע משימה זו נעזר האופטימייזר בסטטיסטיקות שונות הנאספות מבסיס הנתונים (למשל גודל הטבלאות (Relation Cardinality) או תדירויות שונות של ערכים (Attribute Domains). כמו כן האופטימייזר נעזר במטא-מידע של הטבלאות מתוך קטלוג המערכת (כגון מידע על קיום אינדקסים, מידע על יחסי תלות בין הטבלאות).
שלבי תהליך האופטימיזציה
- תרגום השאילתא לביטוי בשפה פרוצדורלית (כגון RA)
- נרמול הביטוי תוך שימוש בשקילויות
- העברת הביטוי לצורת עץ תכנון ביצוע
- הערכת מחיר הביצוע