Friday, November 7, 2008

שינוי סדר הטבלאות בפסוקית ה- from ב-Oracle:

עד גרסאת Oracle 9 ,מנוע האופטימיזצייה עובד לפי cost based ולכן ב- SQL הנוצר ב- BO הטבלאות בפסוקית ה- From מסודרות באופן דיפולטיבי מהטבלה הקטנה ביותר לטבלה הגדולה ביותר.שקילות הטבלאות נקבעת לפי ה- row count ,פיצ'ר הקיים גם ב- designer
קליק ימני על הטבלה





על מנת לקבל SQL אופטימאלי ,ב- Oracle ,סדר הטבלאות צריך להיות מסודר מהגבוה לנמוך.בכדי לשנות את סדר הטבלאות יש להתערב בקובץ ה- prm המחזיק את הפרמטרים של ה- SQL
המחולל בעולם

מיקום הקובץ בגרסת BOXI :

D:\Program Files\Business Objects\BusinessObjects Enterprise 11.5\dataAccess\connectionServer\odbc\oracle dir

בגרסא 6:
C:\Program Files\Business Objects\BusinessObjects Enterprise 6\dataAccess\RDBMS\connectionServer\oracle






פותחים את הקובץ הprm- ושם משנים את הפרמטר:

"Parameter Name="REVERSE_TABLE_WEIGHT מה- Yes ל- No

התוצאה:

כעת ה- SQL שיחולל בשאילתות של המשמשים יכלול טבלאות המסודרות מהגדולה לקטנה...
נתקלתי כבר במקרים בהם שאילתות שופרו בעד 50% זמני ריצה,במקרים אחרים דובר על שיפור קל.

מזכיר לכם שמגרסאת Oracle 10 אין לפרמטר זה משמעות מאחר וה-DB עובד לפי rule based.


No comments:

Post a Comment