ABA


"פורום רקורסיבי בASP"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #6441 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6441
Trranger

   23:15   07.04.04   
אל הפורום  
  פורום רקורסיבי בASP  
 
   אני בונה כרגע פורום רקורסיבי בASP, ויש לי מין התלבטות קלה.

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

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

יש רעיונות? אולי פיתרון טוב יותר?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אחי, mega-killer 07.04.04 23:23 1
     אבל פתיחת חיבור בפני עצמה מבזבזת משאבים, Trranger 07.04.04 23:41 2
         כנראה לא הבנתי אותך? mega-killer 08.04.04 02:56 4
             תיקון הקוד שלך מגה קילר, sza  08.04.04 03:15 5
  לדעתי sza  08.04.04 02:47 3

       
mega-killer
חבר מתאריך 1.8.02
859 הודעות
   23:23   07.04.04   
אל הפורום  
  1. אחי,  
בתגובה להודעה מספר 0
 
   אם תשמור הרבה נתונים לא נחוצים סתם משאים יתבזבזו...

ועכשיו אתה צריך לעשות את זה לכל משתמש ככה שהרבה יותר משאבים יתבזבזו ככה...

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

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


זאת דעתי לפחות...



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Trranger

   23:41   07.04.04   
אל הפורום  
  2. אבל פתיחת חיבור בפני עצמה מבזבזת משאבים,  
בתגובה להודעה מספר 1
 
   מערכים בJS הם דבר קל יחסית, גם בVBS אני לא בטוח שזה כזה נורא.
אני מאמין שיהיו מקסימום 2 אנשים שיישלחו בקשה בו זמנית, והמשתנים מנוקים אחרי סוף הדף...

אם אני אפתח חיבור לכל הודעה כדי לחפש תגובות זה יכול להגיע ל200 חיבור בדף ואפילו יותר, לא?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
mega-killer
חבר מתאריך 1.8.02
859 הודעות
   02:56   08.04.04   
אל הפורום  
  4. כנראה לא הבנתי אותך?  
בתגובה להודעה מספר 2
 
   אתה מתוון אם לפתוח כל הודעה ברשימת הודעות מחדש?
כי אם כן, ברור שאתה לא צריך לפתוח 200 פעם את המסד נתונים,
אתה פשוט פותח פעם אחת ולוקח את כל רשימת התגובות...
אם אתה משתמש ב ASP אז מקום לקחת נתונים מיד אחרי שפותחים את המבד,
(לדוגמא open.rsCon)
לבצע פעולת DO:

Do while rsCon.EOF
קבלת נתונים...
rsCon.MoveNext 'עובר לרשומה הבאה
loop
rsCon.Close

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


Response.Write(rsCon("text")

וככה אתה מונע השתמשות מיותרת במשאבים...

מקווה שעזרתי



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12357 הודעות, 22 פידבק
   03:15   08.04.04   
אל הפורום  
  5. תיקון הקוד שלך מגה קילר,  
בתגובה להודעה מספר 4
 
ערכתי לאחרונה בתאריך 08.04.04 בשעה 03:15 בברכה, sza
 
do while NOT rsCon.EOF
.
.
.


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


צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12357 הודעות, 22 פידבק
   02:47   08.04.04   
אל הפורום  
  3. לדעתי  
בתגובה להודעה מספר 0
 
פתיחת חיבור משתמשת במשאבים גדולים מידי, תשתמש בgetrows ותוציא את כולם למערך ותטפל בו, זה הרבה יותר יעיל ובהרבה יותר מהיר ומקל על האתר.

בהצלחה!


צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net