שאילתת SUM על כמה עמודות + WHERE
-
יש לי טבלה עם 3 עמודות.
סכום A
סכום B
ועמודה נוספת: תאריךאני רוצה לעשות SUM על כל סכום A
וכן SUM על כל סכום B, אבל רק בתנאי שהעמודה "תאריך" קטנה או שווה ל NOW.חשוב לי מאוד המהירות של השאילתה הזו.
כרגע אני עושה את זה בשני שאילתות.
האם אפשר לעשות את זה בשאילתה אחת יותר מהירה?
חשבתי אולי לעשות IF על ה SUM של סכום B.
זה באמת יעזור?
יש עוד פתרונות?
לא אכפת לי גם לשנות מעט את מבנה הטבלה.תודה רבה.
-
יש לי טבלה עם 3 עמודות.
סכום A
סכום B
ועמודה נוספת: תאריךאני רוצה לעשות SUM על כל סכום A
וכן SUM על כל סכום B, אבל רק בתנאי שהעמודה "תאריך" קטנה או שווה ל NOW.חשוב לי מאוד המהירות של השאילתה הזו.
כרגע אני עושה את זה בשני שאילתות.
האם אפשר לעשות את זה בשאילתה אחת יותר מהירה?
חשבתי אולי לעשות IF על ה SUM של סכום B.
זה באמת יעזור?
יש עוד פתרונות?
לא אכפת לי גם לשנות מעט את מבנה הטבלה.תודה רבה.
-
יש לי טבלה עם 3 עמודות.
סכום A
סכום B
ועמודה נוספת: תאריךאני רוצה לעשות SUM על כל סכום A
וכן SUM על כל סכום B, אבל רק בתנאי שהעמודה "תאריך" קטנה או שווה ל NOW.חשוב לי מאוד המהירות של השאילתה הזו.
כרגע אני עושה את זה בשני שאילתות.
האם אפשר לעשות את זה בשאילתה אחת יותר מהירה?
חשבתי אולי לעשות IF על ה SUM של סכום B.
זה באמת יעזור?
יש עוד פתרונות?
לא אכפת לי גם לשנות מעט את מבנה הטבלה.תודה רבה.
-
אני על postgresql. אז הסינטק שונה.
אבל העיקר המבנה.
האם באמת זה יהיה יותר מהיר משני שאילתות? (קרוב לוודאי שכן). -
@clickone
נכון. עבר זמן מאז.בכל אופן לפי בדיקה מעכשיו (50K רשומות. לא הרבה).
לעשות 2 שאילתות לוקח בממוצע 115 ms.
השאילתה המשולבת לוקחת בממוצע 130 ms.ברור לאיפה הכיוון נוטה. לא?
הבדיקה נעשתה דרך קליינט PgAdmin. אם זה משנה.
-
@dovid
ייתכן שאתה צודק.
עבר זמן רב מאז (לפחות במושגים שלי).
לא זכרתי את קיום האשכול ההוא.אם אתה רואה צורך, תמחק את האשכול.