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

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



  #2  
ישן 27-03-2009, 10:42
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי neris שמתחילה ב "האם שאילתה מפסיקה ברגע שהיא מוצאת תוצאה ?"

איזו סיבה יש ל DB להמשיך אחרי שהוא מצא את התוצאה? מה הוא יעשה הלאה עם מידע חדש?

כמובן, שאתה צריך להבין מה נעשה לפני שהתוצאה נמצאת. כדי לבצע ORDER BY, ממילא צריך לעבור על כל הרשומות(*) כדי למיין אותן (מה שבהחלט יכול לגרום גם לשימוש בכונן הקשיח לצורך העניין, אם כמות המידע גדולה מדי להכלה בזיכרון המחשב), ורק אחרי המיון הוא יקח את התוצאה היחידה שאתה רוצה...

(*) אלא אם כן יש לך אינדקס. אם יש אינדקס, החיפוש יהיה מהיר מאוד. אם אתה סורק טבלאות עם 2 מיליון רשומות בלי להשתמש באינדקס... אני לא רואה איך אתה תחזיק 1000 גולשים אונליין. למעשה, גם על 10 גולשים אונליין אני לא רואה איך תגיע, אלא אם כן יש לך מחשב על.

חיפושים לפי אינדקס לוקחים זמן אפסי (סדר גודל של 0.01 שנייה בד"כ, לפחות ב MySQL) גם אם יהיו לך עשרות מליוני שורות...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 27-03-2009, 12:09
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 2 שנכתבה על ידי שימי שמתחילה ב "איזו סיבה יש ל DB להמשיך אחרי..."

ציטוט:
במקור נכתב על ידי שימי
כמובן, שאתה צריך להבין מה נעשה לפני שהתוצאה נמצאת. כדי לבצע ORDER BY, ממילא צריך לעבור על כל הרשומות(*) כדי למיין אותן (מה שבהחלט יכול לגרום גם לשימוש בכונן הקשיח לצורך העניין, אם כמות המידע גדולה מדי להכלה בזיכרון המחשב), ורק אחרי המיון הוא יקח את התוצאה היחידה שאתה רוצה...

(*) אלא אם כן יש לך אינדקס. אם יש אינדקס, החיפוש יהיה מהיר מאוד. אם אתה סורק טבלאות עם 2 מיליון רשומות בלי להשתמש באינדקס... אני לא רואה איך אתה תחזיק 1000 גולשים אונליין. למעשה, גם על 10 גולשים אונליין אני לא רואה איך תגיע, אלא אם כן יש לך מחשב על.


רק כדי לוודא - אתה מתכוון לאינדקס עבור הטור שמצויין ב-ORDER BY?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 27-03-2009, 13:03
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 5 שנכתבה על ידי neris שמתחילה ב "מה זה בדיוק האינדקס הזה ? האם..."

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

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

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

מה שסימנת בעיגול זה אינדקס שמסדר את הערכים בתוכו בצורת עץ B-TREE (בדר"כ, אלא אם ציינת אחרת)

תראה כאן: http://www.google.co.il/search?hl=i...f&oq=MYSQL+inde

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

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

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

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

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



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

הדף נוצר ב 0.07 שניות עם 10 שאילתות

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

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