› פורומים › אפיון ופיתוח פריוריטי › דוח עם ריבוי קורסורים
- This topic has 3 תגובות, 2 משתתפים, and was last updated לפני 2 שנים, 4 חודשים by yitzchok.
- Post
-
- יולי 20, 2022 בשעה 11:05 pm
שלום לכולם,יש לנו בחברה דוח שמרכז הרבה מידע על מקטים – כמות שנמכרה, פידיון, עלות, מלאי במחסנים מסוג X, מלאי במחסנים מסוג Y, הזמנות רכש פתוחות, מחיר ועוד…
כרגע הדוח בנוי באופן הבא:
קורסור על מקטים שנמכרו בתאריכים שנבחרו, ואז על כל מקט מופעלות 3 שאילתות שבכל אחת נכנס נתון לתוך משתנה ו- INSERT לטבלת STACK4.
ואז יש עוד 7 קורסורים, שכל אחד אוסף מידע שונה, בכולם יש חיתוך בין PART לשדה הרלוונטי ב- STACK4 ובכל קורסור יש UPDATE של- STACK4.השאלה שלי – מבחינת ביצועים ועומס על השרת, מה עדיף? לעשות קורסור אחד שיהיו בו 10 שאילתות ו-INSERT ל- STACK4 או שאילתה פשוטה שתכניס את רשימת המקטים הרלוונטיים ל- STACK4 ואז 10 קורסורים שיחתכו עם STACK4 ושכל אחד מהם יעשה UPDATE? או שאולי בכלל יש דרך אחרת יותר יעילה?
תודה רבה!
רעות
- Replies
-
- יולי 21, 2022 בשעה 12:35 am
רוב הסיכויים שאפשר להכין את הכל בלי קורסורים כלל, וזה יתן את הביצועים הכי טובים.לצערי יתכן שיהיו אלה שיאמרו שמורכב מדי לעשות את זה ו/אן יהיה קשה לתחזק. אני לא חושב שזה נכון, אני צריך לתחזק ניתוחים לדו"חות שעובדים אם קורסורים ומשתנים וביצועים לא טובים וגם קשה לראות מה קורה איפה בקוד.
בסופו של דבר מה שחשוב לתחזוקה זה קוד ברור והערות לפי הצורך.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 21, 2022 בשעה 10:34 am
תודה רבה על תשובתך, אני לא כל כך יודעת איך לעשות זאת ללא קורסורים כלל – אשמח להכוונה אם יש לך רעיון.ובכל מקרה אשמח לדעת באופן כללי:
מבחינת ביצועים ועומס על השרת, מה עדיף? לעשות קורסור אחד שיהיו בו 10 שאילתות ו-INSERT ל- STACK4 או שאילתה פשוטה שתכניס את רשימת המקטים הרלוונטיים ל- STACK4 ואז 10 קורסורים שיחתכו עם STACK4 ושכל אחד מהם יעשה UPDATE?תודה!
- יולי 22, 2022 בשעה 12:31 am
קשה לדעת איך לענות כי לא ידוע כמה סבבים יהיו בקורסורים האלה אבל אם יש להחליט בין insert ל-update, ואני מניח שה-insert יכולה להכניס כמה וכמה רשומות אבל ה-update עלולה לעדכן רשומה בודדת, אז אין שאלה – ללכת על ה-insert.אבל לדעתי חשוב לדעת איך לנתח בלי קורסורים.
אני לא יכול לכוון אותך באופן יעיל איך לחסוך לגמרי קורסורים. צריכים לדעת כל כך הרבה על מה שאת רוצה לעשות. והפורום לא מסגרת נוחה לזה. ואישית אין לי זמן, מספיק קשה לעמוד על השעות שאני מחויב למעסיק.
מי שרוצה ללמוד (וקורא באנגלית) יכול למצוא המון מאמרים באינטרנט על דרכים יצירתיים לנתח ה-SQL. הם ישתמשו הרבה בטכניקות/פקודות שלא קיימות בפריוריטי אבל אפשר בכל מקרה ללמוד מהם, כי אפשר לנצל את מה שמיוחד בפריוריטי במקום. לדוגמה אם אפשר למצוא חומר של איציק בן גן, אולי הוא כתב גם בעברית בעבר.
בהצלחה
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.