הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 03-03-09, 08:24   # 11
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

לא מחפשים סטרינג בעזרת LIKE, גם בטוח לא בשיטה השנייה ש SDF הציע שרק תסבך הכל כאן ולא תעזור הרבה. בישביל לחפש אחר ערך כלשהו בתור שדה שיש בו סטרינג המופרד בפסיקים אפשר להשתמש או ב explode ואז שימוש בשאילתה ב IN או ב CONCAT אחד מהשניים יעשה את העבודה.
  Reply With Quote
ישן 03-03-09, 12:30   # 12
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

אולי קצת יותר מסובך, אבל הרבה יותר יעיל.
אתה רוצה משהו טוב או משהו קל?
__________________
FreeBSD, a *nix operating system
  Reply With Quote
ישן 03-03-09, 12:33   # 13
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

זה לא יותר יעיל. למה ששימוש ב JOIN כדי לבצע שאילתה על כמה טבלאות תיהיה יעילה יותר משמירת הנתונים כסטרינג בעמודה אחת בטבלה אחת ושליפת הנתונים בעזרת פקודות מובנות של SQL כמו IN ו CONCAT?!
  Reply With Quote
ישן 03-03-09, 17:13   # 14
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

???????


שמעת על המושג scalability?
  Reply With Quote
ישן 03-03-09, 21:08   # 15
SDF
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: Negev
הודעות: 270

SDF לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
זה לא יותר יעיל. למה ששימוש ב JOIN כדי לבצע שאילתה על כמה טבלאות תיהיה יעילה יותר משמירת הנתונים כסטרינג בעמודה אחת בטבלה אחת ושליפת הנתונים בעזרת פקודות מובנות של SQL כמו IN ו CONCAT?!
כי שימוש בפונקציה בתוך WHERE גורר לרוב full table scan
כשאתה עושה join לפי מפתחות יש לך אינדקסים שמשפרים ביצועים.

אתה גם מוזמן לראות איך מערכות גודולות עושות את זה,
למשל wordpress:
http://codex.wordpress.org/images/8/83/WP_27_dbsERD.png

wp_term_relantionship מקשרת בין wp_term_taxanomy (קטגוריות) ל wp_posts.
__________________
FreeBSD, a *nix operating system

Last edited by SDF; 03-03-09 at 21:23.. סיבה: הוספת לינק
  Reply With Quote
ישן 03-03-09, 21:19   # 16
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

ואדים
מה שהוא אמר יותר נכון גם לוגית

כאשר יש לך 2 טבלאות ויש לך קשר של many to many רצוי ליצור relations table או יותר נכון צריך ליצור אחת כזאת
שתהיה משהו כמו
id | a_id | b_id

ותפעיל 2 פונקצית אינדקסים פעם אחת לפי a_id, b_id פעם שניה הפוך ופעם שלישית לפי id

אחרכך בעת שליפה פשוט תשחק עם הטבלאת יחסים ועם JOIN פשוט הכל בחוץ

LIKE, CONCAT, IN וכד' לרוב מחייבים סריקה של כל הטבלה

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

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

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

SDF - כל הכבוד על הידע
לא חשבתי שיש פה אנשים כמוני שמתעסקים ביעילות (;
__________________
  Reply With Quote
ישן 03-03-09, 21:39   # 17
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

יעיל יעיל אבל לא נוח לעבודה.
אתה יכול לבנות את זה ככה אבל זה מסורבל.


לא מדובר פה על דבר שמשפיע ברמה קריטית, כך שמה שאתם טוענים הוא קטנוניות שעולה בנוחיות.
  Reply With Quote
ישן 03-03-09, 21:51   # 18
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

זה אומנם נכון, במקרים מסויימים שימוש בשיטה הזאת יכול לעזור. אבל מהניסין שלי (ואני די בטוח שזה הקריטריון החשוב ביותר כיום וניסיון זה לא משהו שחסר לי):

1. אני בטוח שהוא לא יריץ את הפקודה על טבלה עם 100,000 רשומות אלה הרבה פחות, שבמקרים כאלה הפקודות CONCAT ו IN יעבדו מספיק מהר (לא יודע אם יותר מהר השיטה הנוספות) אבל בהחלט משהו שהוא לא מורגש למשתמש.
2. שיטה זו היא לא משהו שמתכנת בסדר גודל של פותח האשכול מעוניין לעבוד איתו, אם הוא שואל שאלות כאלו.
3. אין ספק שימוש ב LIKE בהחלט יעשה סריקה לאורך כל הטבלה, אבל שוב ראו #1 ובנוסף אפשר בהחלט לכתוב את זה בצורה אופטימלית עם שימוש ב LIMIT או DISTINCT וכדומה, לא חסר.

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

ציטוט:
וואדים הראש שלך בכלל בענניםן בנוגע ליעילות...
אני לא יודע אם זה השחצנות שלך מדברת, הילדותיות שבך או הליצנות, אבל אני יכול להגיד לך די בבטחון מלא. שאתה מה שאני כבר עשיתי ועברתי אתה עוד לא נגשת לשם. זה אומנם נשמע שחצני מדי, אבל לא השראת לי הרבה ברירות.
  Reply With Quote
ישן 03-03-09, 21:57   # 19
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

אני לא טיפוס שחצן, להפך

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

בכל מקרה אני זזתי
__________________
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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