דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שיפור ביצועים בהצגת סיכומי נתונים עדכניים

שיפור ביצועים בהצגת סיכומי נתונים עדכניים

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 3 כותבים 190 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מומחה באקססמ מנותק
    מומחה באקססמ מנותק
    מומחה באקסס
    כתב ב נערך לאחרונה על ידי מומחה באקסס
    #1

    שלום וברכה
    אשמח לעזרה מהמומחים בעלי הנסיון.

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

    השאלה מהי הדרך הנכונה כדי לשפר את הביצועים, חשבתי על 2 דרכים, אבל יש בהם חסרונות לכאורה:

    1. להריץ ברקע שאילתה שתסכום את הנתונים אחת לכמה שניות ותכניס אותם לטבלה צדדית, כך שבמחלקת הסיכום יצטרכו רק לשלוף את הטבלה ההיא. החסרון בזה שהנתונים לא יהיו מעודכנים נכון להרגע (זה די חשוב להיות מדיוק..)
    2. בכל פעולת שינוי בנתונים כגון הוספה, עדכון או מחיקה, להפעיל בנוסף עדכון על טבלת הסיכומים (שאילתה קצרה יחסית ולא מורגשת, כי היא לא צריכה לסכום את הכל, אלא לעדכן את השינוי הספציפי הזה). החסרון בזה, שזה מסרבל מאוד את הפיתוח, ומחייב תוספות מיותרות לקוד.

    כתבתי רעיונות שעלו במחשבתי.
    אני מאמין שאני לא הראשון שנדרש לבעיה זו, אשמח לשמוע מה מקובל לעשות וכיצד פותרים את הדבר הזה.

    yossizY clickoneC 2 תגובות תגובה אחרונה
    2
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב למומחה באקסס ב נערך לאחרונה על ידי yossiz
      #2

      @מומחה-באקסס לענ"ד דרך 1 ודאי לא נכונה (אלא אם כן אין אפשרות אחרת), זה פשוט בזבוז משאבים ונותן לך בסוף תשובה לא מדויקת,
      דרך 2 נשמע לי יותר נכון, למרות שאני מבין את ההסתייגות מפאת תוספת הסיבוך, אבל כמו שאמר החכם "תעשה את זה הכי פשוט שאפשר אבל לא יותר פשוט מזה" פה אני לא רואה אפשרות שלישית

      אני לא יודע אם אקסס מאפשר triggers, אם כן, אפשר להשיג את התוצאה בלי סיבוך יותר מדי
      בכל מקרה, אפשר לסדר את הקוד בצורה כזו שיש רק מקום אחד בו תצטרך להוסיף עדכונים אלו וכל הפונקציות בקוד יעדכנו את ה-DB רק דרך פונקציות אלו

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      מומחה באקססמ תגובה 1 תגובה אחרונה
      3
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב למומחה באקסס ב נערך לאחרונה על ידי clickone
        #3

        @מומחה-באקסס כתב בשיפור ביצועים בהצגת סיכומי נתונים עדכניים:

        להריץ ברקע שאילתה שתסכום את הנתונים אחת לכמה שניות ותכניס אותם לטבלה צדדית, כך שבמחלקת הסיכום יצטרכו רק לשלוף את הטבלה ההיא. החסרון בזה שהנתונים לא יהיו מעודכנים נכון להרגע (זה די חשוב להיות מדיוק..)

        למה בטעינת הדוח אתה לא יכול להריץ שוב את הדלתא של השינוי? (לדוגמא לשים בטבלת העזר את הזמן/המזהה האחרון שאיתו השתמשת, [במידה ואתה סוכם רק עסקאות שנוספו] ואז בפתיחת הדוח/מסך להריץ רק מאותו הרגע שזה קצת)

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

        אישית כנראה הייתי משתמש בדרך השנייה. (יש מקרים שאני משתמש בראשונה עם הדלתא שהצעתי)

        בנוסף, ייתכן לפעמים שאפשר למטב את שאילתת הסיכום (לדוגמא אינדקס על מזהה הלקוח), יעזור אם תשים כאן דוגמא קונקרטית

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        תגובה 1 תגובה אחרונה
        1
        • מומחה באקססמ מנותק
          מומחה באקססמ מנותק
          מומחה באקסס
          השיב לyossiz ב נערך לאחרונה על ידי מומחה באקסס
          #4

          @yossiz
          תודה!
          ראשית, הממשק בנוי ב web ולא באקסס (שם הניק הוא מהימים שבהם התעסקתי עם אקסס, מאז ---) ואני משתמש עם DB של mySQL
          לגבי הפתרון של triggers או פונקציה האחראית לעדכון ה DB, זה אכן יעיל יותר לגבי אופציה 2, אבל זה עדיין לא פותר את הבעיה, כיון שהלוגיקה שכל שינוי נתון משפיע על הסיכום הוא שונה (כלומר זה לא פלוס או מינוס, אלא מערך של סיכומים) כך שבכל מקרה אצטרך ליצור עבור כל וריאציה של שינוי את הלוגיקה לעדכון ה DB

          yossizY תגובה 1 תגובה אחרונה
          2
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב למומחה באקסס ב נערך לאחרונה על ידי
            #5

            @מומחה-באקסס ייתכן שזה פחות מורכב ממה שאתה חשוב, אבל כמו שכתב @clickone, דוגמה קונקרטית תעזור פה
            האם הצעת @clickone של חישוב הדלתא יכול לעזור?

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            מומחה באקססמ תגובה 1 תגובה אחרונה
            1
            • מומחה באקססמ מנותק
              מומחה באקססמ מנותק
              מומחה באקסס
              השיב לyossiz ב נערך לאחרונה על ידי מומחה באקסס
              #6

              @yossiz
              אני חושב שלא יעזור חישוב הדלתא (אם אכן הבנתי את הרעיון) מדובר על חישוב של כל הרשומות מחדש ולא יעזור לחשב את ההשפעה החדשות בנפרד
              אתם צודקים שכדאי לתת דוגמא קונקרטית, אני אשב לפשט ולצמצם למינימום את מבנה הטבלאות והסיכום, ואעלה כאן
              תודה לבנתיים!
              עריכה: העלתי פוסט מקביל עם חלק מהבעיה..

              תגובה 1 תגובה אחרונה
              2

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום