Friday, November 28, 2008

ANSI 92 - פרמטר ב-Designer

החל מגרסא 6 ניתן לשנות את הגדרות ה- SQL בעולם בכלל ובאובייקטים נבחרים בפרט על מנת ליצור אופטימיזצייה של ה- SQL בשאילתות,להלן האפשרויות,אך נקדים ונאמר כי הפיצ'ר נתמך ברוב ה- DB's ,
ב- Oracle רק החל מגרסא 10,על כן בדקו קודם שסוג וגרסאת ה-DB שלכם תומכת בפיצ'ר זה.

אז מה הוא נותן לנו ? דרך תפריט ה-file-->parameters ,לשונית ה-parameter
נשנה את הפרמטר הראשון ANSI 92 מ- N ל- Y :

כעת נבחין במס' שינויים ביכולות העולם:

1. ניתן לבצע Full Outer Join בין טבלאות :


2. רוב ה- DB's זורקים את ה- Joins לפסוקית ה- Where (טרה לא...)

ANSI 92 מעביר אותם אל פסוקית ה- From:
לפני:

אחרי השינוי ל-ANSI 92 :


המשמעות היא שה- SQL שנוצר כעת עשוי להיות אופטימלי מאחר וה- Joins מתבצעים כבר ברמת ה- From ,כך שכמות הרשומות שהשאילתא צריכה לעבד מצטמצמת כשמגיעים ל- where

(ארקדי ודימה אומרים שתמיד עדיף ככה וכך גםה-execution plan של ה-SQL...)

3.אפשרויות עריכה מתקדמות ב- Join

אפשרות זו קובעת איזה אובייקטים שהמשתתש בוחר בתנאי השאילתא יעברו לפסוקית ה- From,כאשר ניתן לבחור בחלונית זו רק את אותם אובייקטים המבוססים על הטבלאות ב- Join,המשמעות היא שוב שביצועי השאילתא עשויים להיות טובים יותר...


















א.אפשרות ראשונה :
Default behavior / No objects in FROM = אובייקטי התנאי נשארים בפסוקית ה-FROM :

ב.אפשרות שניה :
כל- All objects in FROM= אובייקטי התנאי יועברו ל- FROM :

ג.אפשרות שלישית:

Selected objects in FROM = רק האובייקטים הנבחרים יועברו לפסוקית ה- FROM


בסה"כ הכל ANSI 92 נותן אפשרויות שליטה מתקדמות בייצור ה-SQL הגנרי בעולם ויכול לשפר את כל מבנה העולם.עכשיו מה שנשאר לכם זה רק לדבר עם איגור ה-DBA שיבדוק האם יש באמת שיפור בשאילתות....

No comments:

Post a Comment