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