הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

הפרמטר join_by_sql מופיע בקבצי הprm בגרסת הBOXI .על מה פרמטר זה משפיע?

לצורך ההסבר ניקח עולם המכיל שתי טבלאות fact table:

fact a

fact b

וכן טבלת מימד משותף:

dim

מן הסתם, היחס בין dim לfact a הוא יחס של אחד לרבים וכמובן זה גם היחס בין dim לfact b. לכן, אם נשים בשאילתת SQL סטנדרטית את שלושת הטבלאות:

נקבל הכפלת רשומות. (נקרא Chasm trap).

הפתרון הוא יצירת context לכל join :

1. dim.field=fact_a.field

2.dim.field=fact_b.field

כאשר join_by_sql=no , דבר שהיה ברירת המחדל בגרסאות הישנות,, נוצרים שני sql שונים ולאחר החזרת הנתונים הBO מאחד אותם לכדי תוצאה אחת בדיוק כמו יצירת שני data provides וחיבורם.

כאשר join_by_sql=yes נוצרת שאילתא מאחדת בתוך הDB ולא ברמת הקליינט. לדוגמא:

יש כאלה הטוענים שפרמטר זה שיפר ביצועים. יש כאלה הטוענים בדיוק ההיפך. בכל מקרה שווה לנסות.