הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   יעילות - MySQL + PHP (https://hosts.co.il/forums/showthread.php?t=59367)

SlipY 26-01-08 18:18

יעילות - MySQL + PHP
 
שלום,
אני רוצה להוסיף למערכת שלי אפשרות של "השתתפות באירועים"
ההשתפות תהייה שבוע מראש כלומר כל שבוע אתה יכול להשתתף באירועים מראשון - שבת

השאלה שלי היא:
האם להוסיף לכל יוזר אפשרות ל7 אירועים שזה יקשר לעמודה של האירוע ?
או להוסיף טבלה מקשרת של יוזרים מול אירועים.

מה יעיל יותר מבחינת מסד להוסיף 7 שורות ליוזר או לעבור על טבלה שלמה של אירועים ויוזרים כדי לראות האם היוזר משתתף באירועים?

DanielS 26-01-08 18:40

לדעתי. עדיף לך לבחור בין השניים :
1.
להוסיף עמודה אחת איפה שיש את הרשימת אירועים בשם users וליד כל אירוע יהיה את התא של ה ID של המשתמשים שמופרדים בנקודה פסיק. לדוגמא ככה:
1;23;45;44
ואז אחרי זה בבדיקה והצגה להפריד ולשלוף את פרטי המשתמש.

או
לעשות בידיוק אותו הדבר רק עם עמודה של אירועים בטבלת משתמשים. והID של כל אירוע..

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

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

שבוע טוב.
דניאל.

RS324 26-01-08 22:30

לפי דעתי עדיף לך לעשות טבלה חדשה לדוגמא :

user_active_events

id,userid,eventid

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

select * from user_active_event WHERE eventid=5

ואז אתה מקבל את כל המשתמשים שמשתתפים באירוע מספר 5

או לחלופין

select * from user_active_event WHERE userid=52

ואז אתה מקבל את כל האירועים שמשתמש מספר 52 משתתף בהם
ואם תרצה גם פרטים על האירועים תעשה פשוט LEFT JOIN לטבלה EVENTS

Udi 26-01-08 23:44

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

בהצלחה.


כל הזמנים הם GMT +2. הזמן כעת הוא 18:05.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ