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

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



  #1  
ישן 15-10-2005, 21:46
צלמית המשתמש של dogeater999
  dogeater999 dogeater999 אינו מחובר  
 
חבר מתאריך: 15.10.05
הודעות: 3
לינוקס בעיית ביצועים בשאילתת SQL על מסד נתונים MySQL

יש לי שתי טבלאות תכנים, נקרא להם: father & son, כדי שהקשרים בינהן יהיו ברורים.
טבלה נוספת היא טבלת המועדפים, שכל גולש יכול לבחור להוסיף רשומה מתוך הטבלאות הנ"ל למועדפים שלו. היא נראית ככה:
+-------+-----------+--+
| ID|| fatherid|sonid|
+-------+-----------+--+

אני רוצה לשלוף את כל הרשומות מ Son שהיוזר נרשם אליהן, כולל רשומות שמשורשרות תחת father שיש להן sons.
הנה השאילתה ליוזר מספר 90:
קוד:
SELECT son.id, son.name,father.id, father.name,favorites.id FROM son INNER JOIN favorites ON(favorites.sonid=son.id OR favorites.father=father.id ) INNER JOIN father ON son.parentid=father.id WHERE favorites.userid=90 ORDER BY sons.date DESC


השאילתא עובדת ונותנת תוצאות נכונות. הבעיה כשבודקים את הריצה שלה רואים את הדבר הבא:
קוד:
|id|select_type|table |type |possible_keys |key |key_len|ref |rows| Extra | +--+-----------+---------+------+----------------+-------+-------+------------+----+--------------------------------------------+ |1 |SIMPLE |favorites|index |userid |userid |4 |NULL |4 |Using index; Using temporary; Using filesort| |1 |SIMPLE |son |ALL |PRIMARY,parentid|NULL |NULL |NULL |464 |Using where | |1 |SIMPLE |father |eq_ref|PRIMARY |PRIMARY|4 |son.parentid|1 | |

(לא הצלחתי לשים טבלה נורמלית )

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

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

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

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

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



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

הדף נוצר ב 0.06 שניות עם 12 שאילתות

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

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