התמודדות עם פונקציה שדורשת הרבה משאבים, php
-
הפונקציה מחפשת את כל המשתמשים שיש להם הרשאה לפחות לאיזשהו פונקציה אחת בפרוייקט. (היא רצה על כל הפונקציות X החשבונות X קבוצת החשבון שלהם וכו' וכו' ומחפשת משתמשים עם הרשאה). זה סותם את כל הCPU.
עברתי על הקוד ולא נראה לי שיש משהו לשפר.אני מסתפק:
אופציה א' לקבל את הנתונים פעם אחת (בסשן?) ולשמור אותם (איפה?, זה php...) ולרענן אותם בכל פעם שיש שינוי הרשאות בפרוייקט.
אופציה ב' בטבלת הפונקציות להוסיף עמודה ששם יהיה כתוב שם רשימת המשתמשים שמורשים לפונקציה זו (עפ"י כל היררכיית ההרשאות), ובכל שינוי הרשאות השדה יתעדכן.או אולי יש אופציה ג'...?
תודה לכולם.
-
@chagold אמר בהתמודדות עם פונקציה שדורשת הרבה משאבים, php:
אופציה א' לקבל את הנתונים פעם אחת (בסשן?) ולשמור אותם (איפה?, זה php...) ולרענן אותם בכל פעם שיש שינוי הרשאות בפרוייקט.
יש כל מיני ספריות שמנהלות קאש לPHP, (כמו https://www.phpfastcache.com), אם זה הפתרון, זה ישים.
לא בדקתי אם יש שם אפשרות לרענן את המטמון (בעת שינוי), מאמין שיש.
ייתכן שגם לא שווה לך להשתמש בספריה חיצונית, אלא לממש את זה פשוט עם קובץ טקסט / JSON.
ראה https://stackoverflow.com/questions/5262857/5-minute-file-cache-in-php. -
@yossiz אמר בהתמודדות עם פונקציה שדורשת הרבה משאבים, php:
@chagold אמר בהתמודדות עם פונקציה שדורשת הרבה משאבים, php:
עברתי על הקוד ולא נראה לי שיש משהו לשפר.
קשה להאמין. אבל לא הסברת בדיוק את המבנה של ה-DB, ומה אתה רוצה להשיג.
כמו תמיד, המושכל ראשון של @yossiz צודק. (עוד בלי שהוא מקבל את הנתונים המלאים..).
עברתי שוב וראיתי שאפשר להתחיל את הסינון מהטבלה של הרשאות היוזרים וזה רץ בציק צק.