מהו Index בטבלאות SQL ומה תפקידיו

אינדקסים (Index) מסייעים לנו למצוא במהירות גדולה יותר נתונים שנשמרו בטבלאות בסיס הנתונים. ניתן להתייחס לאינדקסים כאל מראי מקום בספר. במקום לקרוא את כל הספר כדי למצוא מה שאנו מחפשים נעדיף ללכת למראי המקום שיצביע עבורנו על כל המקומות שבהם מוזכר הנושא שאותו אנו מחפשים. השימוש במראי המקום (אינדקס) יחסוך לנו זמן ויהפוך את תהליך החיפוש ליעיל יותר. מבחינה זו אינדקסים בטבלאות SQL זהים לאינדקס בספר.

אם לא הגדרנו אינדקס (Index) לטבלה אזי בכל שאילתה על טבלה זו מה שיקרה הוא שהשאילתה תגרום למעבר על כל הרשומות בטבלה (Table Scan) עד למציאת כל הרשומות העונות לתנאי החיפוש. במקרה שהגדרנו אינדקס מתאים אזי החיפוש יהיה מהיר יותר מפני שהפניה לבסיס הנתונים תגרום לכך שמנוע החיפוש בבסיס הנתונים יפנה קודם לאינדקס ויילך לרשומות המתאימות על פי מה שרשום באינדקס.

ניתן ליצור אינדקסים על מרבית סוגי הנתונים בטבלה או ב - View. החריגים לכלל זה הם שדות המכילים כמות גדולה של נתונים (LOB) כגון שדות תמונה או שדות בינאריים גדולים. כמו כן, ההמלצה היא ליצור אינדקסים בעיקר על שדות מספריים ולא על שדות טקסט וזאת מטעמי מקום ויעילות.

כללים מומלצים לבניית אינדקסים

  1. נסו תמיד לבנות את האינדקסים על שדות מסוג Integer או שדות מספריים אחריים. אינדקסים על שדות מסוג זה הם יעילים ומהירים יותר.
  2. עשו מאמץ שהאינדקס יהיה בנוי ממספר שדות קטן ככל האפשר. ככל שהאינדקס קטן יותר כן הוא תופס מקום קטן יותר. ככל שהמקום שהאינדקס תופס הוא קטן יותר כן גדלות יעילות ומהירות החיפוש.
  3. סדר השדות (עמודות) חשוב ליעילות השימוש באינדקס.
  4. ודאו שהשדות החברים באינדקס הוגדרו כשדות שאינם יכולים לקבל ערך NULL. דבר זה יגרום להקטנת המקום שתופס האינדקס. זכרו את כלל 2 - ככל שהאינדקס קטן יותר מהירות ויעילות החיפוש גוברים.

 

מדריכים ומאמרים הקשורים לנושאים במדריך זה מדריכים ומאמרים הקשורים לנושאים במדריך זה

מדריך ליצירת טבלה בעזרת הפקודה CREATE TABLE

מדריך לביצוע שינויים במבנה טבלה בעזרת הפקודה ALTER TABLE 

מדריך לטבלאות בבסיסי נתונים רלציוניים

מדריך להגדרת מפתח ייחודי (Primary Key) בטבלאות SQL

 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש