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

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

RS324 01-01-07 18:54

אז שתדע..עבודה עם קבצים יותר מעמיסה והסיבה :
בשביל לפתוח קובץ הוא צריך לטעון את כולו לזיכרון של המחשב..
בעת הפתיחה, לשמור עותק שלו.להביא את ה POINTER לסוף הקובץ, להוסיף
את מה שהמשתמש רוצה ואז לשמור מחדש...

יותר יעיל ? ממש ממש לא.

לגבי הזה.... יש לך דרך אפילו יותר פשוטה,
שאולי תחסוך לך כמה שאילתות

קודם כל תעשה
UPDATE userip WHERE ip=$IP SET lastvisit=$time
(סתם דוגמא)
ואז תבדוק אם יש שורות שמושפעות מזה עם
mysql_affected_rows
אם הוא לא מחזיר כלום.. סימן שזה לא קיים ואז תעשה INSERT

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

רוצה לייעל עוד קצת ? תוסיף גם עם SESSION
וחסכת לך כמה מאות שאילתות ביום..... (כמובן עבור 1000 גולשים לא ייחודיים)

omercnet 02-01-07 00:33

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

אני בטוח שאם רק תשנה את הטבלה לInnoDB כבר תשים לב לשיפור בביצועים
אחרי זה, אני בטוח שאפשר לשפר את השאילתות שלך שיעבדו בצורה יותר יעילה, נפנה לזה אח"כ

sUP 02-01-07 00:56

RS324 תודה רבה אחי :)

ו omercnet מזה InnoDB?

RS324 02-01-07 15:45

ציטוט:

נכתב במקור על ידי sUP (פרסם 398821)
RS324 תודה רבה אחי :)

ו omercnet מזה InnoDB?

יש לך כמה סוגי טבלאות.... ( תסתכל ב PHPMYADMIN כשאתה יוצר טבלה)

שהם בעיקרון
MYISAM , INNODB,MEMORY
ועוד כמה לא זוכר בדיוק איזה....

sUP 02-01-07 18:45

ומה זה כאילו יותר מהיר?

x-ray 02-01-07 19:47

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

נריה 02-01-07 20:28

ציטוט:

נכתב במקור על ידי x-ray (פרסם 399216)
דניאל למה שלא תשתמש בשורה אחת?
תפריד עם פסיקים או סימן אחר ותשתמש בזה,יחסוך לך הרבה שורות. של מידע.

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

RS324 02-01-07 22:32

ציטוט:

נכתב במקור על ידי נריה (פרסם 399258)
אני חושב
שאם הוא יעשה ככה זה יותר "בזבזני" כי שהוא יוסיף עוד אי פי הוא יטען את כל השורה ורק אז יוסיף את ה IP החדש
וזה יבזבז הרבה תעבורה
עד כמה שאני יודע...

לא מחייב...
אבל יכול להיות לו כפילויות של IP וגם בעיות במשיכה של הנתונים

איך שאמרתי לו באחד הפוסטים - זה הדרך היעילה ביותר.

omercnet 03-01-07 08:29

ציטוט:

נכתב במקור על ידי sUP (פרסם 398821)
RS324 תודה רבה אחי :)

ו omercnet מזה InnoDB?

http://www.developer.com/db/article.php/2235521

x-ray 03-01-07 11:15

ציטוט:

נכתב במקור על ידי נריה (פרסם 399258)
אני חושב
שאם הוא יעשה ככה זה יותר "בזבזני" כי שהוא יוסיף עוד אי פי הוא יטען את כל השורה ורק אז יוסיף את ה IP החדש
וזה יבזבז הרבה תעבורה
עד כמה שאני יודע...

יבזבז תעבורה? :-0
אולי יעמיס על השרת אבל מה הקשר לתעבורה? 8-*


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

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