ABA


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

   16:59   27.07.08   
אל הפורום  
  מישהו יכול להסביר לי בפשטות מה ההבדל  
 
   בן mysql_unbuffered_query לmysql_query ?

אני מבין שהאופציה הראשונה חוסכת זכרון ,אבל אני לא מבין בדיוק איזה פעולה היא עושה שהיא חוסכת זיכרון ,PHP.NET מצטער על הביטוי מזיינים הרבה בשכל עם ההסבר שלהם ,הם לא מסבירים חד וחלק מה ההבדל :|

מישהו מרים את הכפפה?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  רק משם הפונקציות אפשר להבין... shangrila 27.07.08 17:07 1
     אף פעם לא השתמשתי באופציה הראשונה , akoka 27.07.08 17:19 3
  אההההההההההההההה הבנתי:) akoka 27.07.08 17:14 2
     בדיוק shangrila 27.07.08 17:28 4
         קראתי על זה מאמר של מישהו שאומר akoka 27.07.08 18:13 5
             מי מקים DB עם טבלאות בגודל כזה על mysql? shangrila 27.07.08 22:30 6
                 מיליון רשומות זה ממש ממש לא הרבה akoka 28.07.08 04:11 7

       
shangrila

   17:07   27.07.08   
אל הפורום  
  1. רק משם הפונקציות אפשר להבין...  
בתגובה להודעה מספר 0
 
   unbuffered - לא עובר בבאפר של ה-DB. יותר מהיר להריץ אותה בפעם הראשונה, בפעם השניה ייקח את אותו הזמן בעוד שאם היא הייתה בבאפר, התשובה הייתה מתקבלת מהר יותר.


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

   17:19   27.07.08   
אל הפורום  
  3. אף פעם לא השתמשתי באופציה הראשונה ,  
בתגובה להודעה מספר 1
 
   שמעתי עליה לא מזמן רק ,וBUFFER זאת מילה שאומרת המון אין לך מושג כמה היא אומרת


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

   17:14   27.07.08   
אל הפורום  
  2. אההההההההההההההה הבנתי:)  
בתגובה להודעה מספר 0
 
   מה שקורה זה דבר כזה תדמיינו לכם טבלה עם מיליון רשומות ,שימוש בmysql_query עושה fetch וסופר את מספר הרשומות ורק אז אפשר להוציא את התוצאות ,ואז תדמיינו שכול המידע שלכם במסד הוא בגודל 50 מגה ,אז הפונקציה שתשתמש ב50 מגה של זיכרון ,ומה אם אתם לא צריכים את כול המיליון שורות האלה ?,פה נכנסת הפונקציה mysql_unbuffered_query מה שהיא עושה זה בדיוק הפעולה ההפוכה מmysql_query היא לא שומרת את כול השורות שמגיעות ,היא פשוט ברגע שתעשו fetch_assoc/fetch_array/fetch_object/fetch_row על כול שורה שתצא זה הזיכרון שהתבזבז ,באופציה של mysql_query כבר מתבזבז זיכרון על כול השורות.

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


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

   17:28   27.07.08   
אל הפורום  
  4. בדיוק  
בתגובה להודעה מספר 2
 
   הבאפר נשמר ב-RAM.
אם מדובר במערכת שהמידע ב-DB הוא מידע "ציבורי" שכולם יכולים לגשת אליו, מומלץ להשתמש ב-query הרגיל שעושה fetch לזיכרון. אם לכל משתמש יש עשרות אלפי נתונים משל עצמו, חבל לבזבז על זה זיכרון.


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

   18:13   27.07.08   
אל הפורום  
  5. קראתי על זה מאמר של מישהו שאומר  
בתגובה להודעה מספר 4
 
   שהוא ניסה את 2 הפונקציות על טבלה עם מיליון רשומות וההבדל היה 20 שניות בריצה :| יש אנשים שזה חלומי בשבילם לחסוך ככה


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

   22:30   27.07.08   
אל הפורום  
  6. מי מקים DB עם טבלאות בגודל כזה על mysql?  
בתגובה להודעה מספר 5
 
   בד"כ, טבלאות כאלו גדולות יש בארגונים גדולים ואתרים גדולים ובשביל זה יש כבר DB-ים יותר רציניים כגון אורקל, SQL SERVER ו-DB2. אתרים בגודל בינוני ומטה לא יגיעו לכאלו כמויות נתונים בחיים.


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

   04:11   28.07.08   
אל הפורום  
  7. מיליון רשומות זה ממש ממש לא הרבה  
בתגובה להודעה מספר 6
 
   בשביל MYSQL ,המנוע הזה משתפר מגירסא לגירסא ,קראתי מאמר שהגירסא הבאה שלו הולכת ליהיות עם שיפורים הרבה יותר משמעותיים.

אני יכול להגיד לך שבאינטרנט זהב ,שיש להם רשת עם המון אתרים ,והמון רשומות במסד נתונים ,תנחש עם איזה מנוע הם עובדים? לא טעית MYSQL.


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

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

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



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