מנגנון הקיים מגרסא 6.5 המאפשר לנו ליצור SQL יעילים יותר וזאת באמצעות "השמטת" join.
ניקח דוגמא מעולם Island resort marketing
ישנה טבלת הReservation line אשר בה יש קוד שירות (Service_id) . את קוד השירות מפענחת טבלת Services. אם ניקח אובייקט מטבלת Reservation line ונשתמש בהתניה של שירות :
הרעיון העומד מאחורי הindex awareness הוא: קודם הוצא את הקוד (במקרה זה service_id ) לפי ההתניה (במקרה זה Service) ואת הקוד שתול בטבלה עליה אתה רוצה לבצע את ההתניה (במקרה זה Reservation_Line).
במילים אחרות, אנו נרצה לראות את הקוד הבא:
SELECT
( sum( Reservation_Line.future_guest
FROM
Reservation_Line
WHERE
(
Reservation_Line.service_id = 212
)
כלומר Bungalow תורגם לערכו:212 וקוד זה "נשתל" בהתניה על Reservation_Line
כדי לבצע זאת עלינו:
להכנס לproperties של האובייקט שאנו רוצים להשתמש בו בהתניה. (בדוגמא Service).
לגשת ללשונית keys.
יפתח המסך הבא:
נקיש , פעמיים כדי להכניס Keys, המתארים את הקשר בין הטבלאות. כעקרון יכולים להיות שני סוגים של Keys: Primary key המתאר את המפתח של הטבלה שעליה אנו רוצים לבצע התניה (במקרה זה: Service.service_id) ו foreign key המתאר את המפתח בטבלה השניה. (במקרה זה, Reservation_Line.service_id).
נקבל את המסך הבא:
נגדיר את הערכים הנכונים של הkeys:. ליד כל key בחלק הselect ישנו (נראה רק כשמקשים על הערך). נקיש עליו ונקבל את המסך הבא: מסך זה זהה לחלוטין למסך הגדרת אובייקט . למעט משפט : "Type your Select here", אותו אנו נמחק.
נגדיר את הערכים בשני הkeys בהתאם , ונקבל את המסך הבא:
ליתר בטחון נקיש על , כדי לוודא שתקין ועובד.
לסיום, נקיש .
הערה: המנגנון פועל בצורה טובה, רק כאשר הערכים מוכנסים לתוך השאילתא באמצעות רשימת ערכים. אם נכניס ערכים בצורה ידנית ,המנגנון לא יעבוד בצורה טובה.