לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 03-04-2009, 05:18
  haplo_3 haplo_3 אינו מחובר  
 
חבר מתאריך: 05.03.07
הודעות: 243
להשתמש בstored procedure או לא .

שלום.
אני נמצא בשלבים שלפני בניית LIVE FEED לאתר שלנו.
הדרישות הן כאלה

1. משתמשים יכולים לקבל עידכונים ב LIVE FEED דוגמת FACEBOOK .
2. משתמשים יכלו לקבל עידכונים אם חברים ברשימה שלהם השיגו תוצאה גבוה יותר במשחק
3. אם חברים הוסיפו חבר
ועוד כל מיני דברים

התיכנון שלי הוא לבצע שאילתה שתופעל כאשר הדף של הLIVE FEED נטען. השאילתה תבדוק את המסד נתונים אם אחד מהתנאים שציינתי בוצעו ואז תעדכן את טבלת ה LIVE FEED של אותו משתמש.

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

קראתי כמה וכמה מאמרים על STROED PROCEDURES , חלקן בעד חלקן נגד.


אלו שנגד אמרו:
1. הורס את רציפות הקוד
2. אין שיפור משמעותי בביצועים
3. מוגבל בלוגיה של הפונקציות


מישהו יכול להביע את הדיעה שלו או אולי להציע דרך אחרת




תודה,
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 03-04-2009, 09:07
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,778
בתגובה להודעה מספר 1 שנכתבה על ידי haplo_3 שמתחילה ב "להשתמש בstored procedure או לא ."

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

לדעתי אתה צריך לשאוף לזמן ביצוע מינימלי של שאילתא ולמניעה של נעילת טבלאות היכן שלא שצריך (למשל, אם אתה משתמש ב MySQL, אזי מנוע מסד הנתונים InnoDB מאפשר לנעול רק חלקים מטבלה בעוד ש MyISAM - לא.). נירמול נכון, הוספת כל האינדקסים שצריך, רמיזה לאופטימייזר באיזה אינדקס כדאי לו להשתמש (HINTING), וכו'. לדעתי אלה הפרמטרים שישפיעו הרבה יותר על הביצועים.

קח בחשבון שלמסדי נתונים יש גם הגדרות אופטימיזציה שניתן לעשות ברמת השרת. שוב, אם אקח את MySQL בתור דוגמא, אז הוא יודע לעשות cached queries, כלומר, אם אתה מבצע שאילתא יותר מפעם אחת, מבלי שהמידע באחת הטבלאות שמשפיע עליה השתנה, השאילתא בכלל לא "תחושב" מחדש, אלא ישר תקבל תשובה מהזיכרון. הפיצ'ר הזה רלוונטי רק אם אכן המידע שלך לא משתנה בכל פעם שאתה עושה SELECT על המידע
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 03-04-2009, 13:41
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,778
בתגובה להודעה מספר 3 שנכתבה על ידי haplo_3 שמתחילה ב "תודה על התגובה עלה לי רעיון..."

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

כמובן ש trigger הוא עוד שלב באוטומציה - מה שאתה עושה שם - גם האפליקציה שלך יכולה לעשות באותו זמן שהיא עושה את השינוי שהיה גורם ל trigger. זה פשוט העברה של לוגיקה מהאפליקציה לכיוון ה DB...

לדעתי הכי פשוט שתהיה טבלה ל feeds, וכל פעם שקורה משהו שמשפיע עליה, פשוט תוסיף לטבלה הזו עוד שורה עם המזהה של האירוע והמידע הרלוונטי. ואז כדי לקבל את ה feed - מספיק SELECT פשוט עם ה id של המשתמש...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:08

הדף נוצר ב 0.03 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר