דוח עם ריבוי קורסורים

פורומים אפיון ופיתוח פריוריטי דוח עם ריבוי קורסורים

  • Post
    reut_c
    משתתף
    שלום לכולם,

    יש לנו בחברה דוח שמרכז הרבה מידע על מקטים – כמות שנמכרה, פידיון, עלות, מלאי במחסנים מסוג X, מלאי במחסנים מסוג Y, הזמנות רכש פתוחות, מחיר ועוד…

    כרגע הדוח בנוי באופן הבא:
    קורסור על מקטים שנמכרו בתאריכים שנבחרו, ואז על כל מקט מופעלות 3 שאילתות שבכל אחת נכנס נתון לתוך משתנה ו- INSERT לטבלת STACK4.
    ואז יש עוד 7 קורסורים, שכל אחד אוסף מידע שונה, בכולם יש חיתוך בין PART לשדה הרלוונטי ב- STACK4 ובכל קורסור יש UPDATE של- STACK4.

    השאלה שלי – מבחינת ביצועים ועומס על השרת, מה עדיף? לעשות קורסור אחד שיהיו בו 10 שאילתות ו-INSERT ל- STACK4 או שאילתה פשוטה שתכניס את רשימת המקטים הרלוונטיים ל- STACK4 ואז 10 קורסורים שיחתכו עם STACK4 ושכל אחד מהם יעשה UPDATE? או שאולי בכלל יש דרך אחרת יותר יעילה?

    תודה רבה!

    רעות

     

     

מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    רוב הסיכויים שאפשר להכין את הכל בלי קורסורים כלל, וזה יתן את הביצועים הכי טובים.

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

    בסופו של דבר מה שחשוב לתחזוקה זה קוד ברור והערות לפי הצורך.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    reut_c
    משתתף
    תודה רבה על תשובתך, אני לא כל כך יודעת איך לעשות זאת ללא קורסורים כלל – אשמח להכוונה אם יש לך רעיון.

     

    ובכל מקרה אשמח לדעת באופן כללי:
    מבחינת ביצועים ועומס על השרת, מה עדיף? לעשות קורסור אחד שיהיו בו 10 שאילתות ו-INSERT ל- STACK4 או שאילתה פשוטה שתכניס את רשימת המקטים הרלוונטיים ל- STACK4 ואז 10 קורסורים שיחתכו עם STACK4 ושכל אחד מהם יעשה UPDATE?

    תודה!

    yitzchok
    משתתף
    IL
    קשה לדעת איך לענות כי לא ידוע כמה סבבים יהיו בקורסורים האלה אבל אם יש להחליט בין insert ל-update, ואני מניח שה-insert יכולה להכניס כמה וכמה רשומות אבל ה-update עלולה לעדכן רשומה בודדת, אז אין שאלה – ללכת על ה-insert.

    אבל לדעתי חשוב לדעת איך לנתח בלי קורסורים.

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

    מי שרוצה ללמוד (וקורא באנגלית) יכול למצוא המון מאמרים באינטרנט על דרכים יצירתיים לנתח ה-SQL. הם ישתמשו הרבה בטכניקות/פקודות שלא קיימות בפריוריטי אבל אפשר בכל מקרה ללמוד מהם, כי אפשר לנצל את מה שמיוחד בפריוריטי במקום. לדוגמה אם אפשר למצוא חומר של איציק בן גן, אולי הוא כתב גם בעברית בעבר.

    בהצלחה

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.