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

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

Haimz 31-10-12 19:47

ציטוט:

נכתב במקור על ידי M.a.T.a.N (פרסם 861971)
אוקיי, ומה זה קשור? אפשר להשתמש בו בצורה הזאת ותאמין לי שלא יקרה כלום...

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

M.a.T.a.N 31-10-12 20:14

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

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

אדיר 31-10-12 20:27

ציטוט:

נכתב במקור על ידי M.a.T.a.N (פרסם 861977)
דווקא יש...אם לדוג' מספר המשתמשים במערכת כזו גדול סביר להניח שבמקרה שתרצה לחפש מתוך הטבלה של המוצרים שורה בודדת ששייכת למוצר ששייך למשתמש מסוים ייקח הרבה זמן.
לעומת זאת אם מההתחלה תגדיר לשרת ללכת לטבלה של המשתמשים, משם לבחור את השורה ששייכת למשתמש X ולהוציא את הערך של העמודה PRODUCTS (המוצרים של המשתמש) זה ייקח זמן מועט יחסית למקרה הנ"ל.
אני גם מאמין שבמערכת כזאת מן הסתם העגלה של משתמש בודד תהיה קטנה יחסית לעומת עגלה כוללת של כל המשתמשים באתר (כלומר טבלה ובה יוכלו כל המוצרים של כל המשתמשים).

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

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

ולא בקטע מעליב או משהו, נטו תגובה בונה.

איציק ברבי 31-10-12 20:40

ציטוט:

נכתב במקור על ידי M.a.T.a.N (פרסם 861971)
אוקיי, ומה זה קשור? אפשר להשתמש בו בצורה הזאת ותאמין לי שלא יקרה כלום...

לא בעיה ליצור תוצאה דומה.

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

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

למה, אם אפשר למנוע שכפולים כאלו ע"י הפונקציה mysql_num_rows

ואני יגיד לך תאכלס זה מקל בהרבה על העבודה!

M.a.T.a.N 31-10-12 21:12

ציטוט:

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

ולא בקטע מעליב או משהו, נטו תגובה בונה.

ממש לא לוקח אותך בקטע מעליב אחי, להיפך! אני שמח לשמוע עוד :)
בכל מקרה אני לא מאמין שאני באמת יתחיל לחפש את ההבדל עכשיו, פשוט אני לא רואה סיבה לבצע את התכנות אחרת..זאת אומרת, הכל יהיה אותה תוצאה עם אותה מהירות +- ואולי אפילו שלי יותר יעילה.
בכל מקרה תודה על התגובות, באמת שאני לוקח אותם בקטע טוב!
ציטוט:

נכתב במקור על ידי איציק ברבי (פרסם 861982)
לא בעיה ליצור תוצאה דומה.

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

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

למה, אם אפשר למנוע שכפולים כאלו ע"י הפונקציה mysql_num_rows

ואני יגיד לך תאכלס זה מקל בהרבה על העבודה!

למה בכלל צריך ביטויים רגולרים? EXPLODE זה הפונק' אולי הכי פשוטה שאני מכיר, לא צריך להסתבך איתה יותר מדי...
שוב, אני לא מנסה לשנות את דעתכם פשוט לתת לכם מבט אחר ודרך שתמיד הייתה אצלי כדרך מאוד הגיונית פשוטה ויעילה.

איציק ברבי 31-10-12 21:15

אתה מדבר על explode בשביל לפצל את זה למערכים,

נניח ואני רוצה למחוק מוצר?
אני צריך לעבור על כל המערך ולמחוק אותו,
נניח ואני רוצה לערוך,
PHP קוד:

"/".$pid."-(.*)/" 

אתה מסכים איתי בזה?

M.a.T.a.N 31-10-12 21:28

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

איציק ברבי 31-10-12 21:33

לא אמרתי שזה לא אפשרי, אמרתי שלא חבל לעבור על כל המערך? סתם צריכת משאבים מהמערכת..

M.a.T.a.N 31-10-12 21:42

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

MAORBARI 31-10-12 22:52

למה אתם אומרים שצריך לעבור על כל המערך??
מה אתם לא שמעתם על פונקציה array_search?
הוא מחזיר מיקום ופשוט מחליפים את הערך באותו המיקום אם רוצים לשנות או שמסירים אותו בעזרת array_splice
הרבה יותר קל והרבה פחות מאמצים וגם יעיל מאוד במקום להשתמש בכל כך הרבה טבלאות.

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


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

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