בס"ד
**כידוע לעוקבים בימים האחרונים אחרי הנודניק @איש-אחד
אני עשיתי/עושה טבלה ב MySQL שאמורה להכיל אלפון,
וכאשר נכנסת שיחה עם מספר מזוהה אל המרכזייה שלי,
המרכזייה בודקת האם המספר מופיע ברשומות, ואם כן, מוסיפה את השם והכתובת למספר המזוהה.
כמובן שהשדה של הטלפון עליו רצה השאילתא - אמור להיות שדה ייחודי (כי מספר הטלפון הספציפי לא משותף לשני אנשים שונים).
[size=150:13nmggdx]רציתי לשאול כמה שאלות תכנוניות:[/size:13nmggdx]**
1. האם להגדיר את ה type של שדה הטלפון כ INT או כ VARCHAR?
להלן השיקולים:
INT: אני מדמיין שחיפוש ב int יותר מהיר - כי האופציות הינן ספרות בלבד. בנוסף יימנע ממני מלכתחילה להכניס נתונים שגויים (שאינם ספרות).
VARCHAR: אני יכול להכניס 0 מוביל מתי שאני רוצה (לדוגמא, רק במספרים ישראליים, ולא במספרים מחו"ל)
2. לרוב האנשים יש יותר ממס' טלפון אחד, ולהזכיר, השאילתא מחפשת את מספרי הטלפון.
האם כדאי שיהיה רק שדה אחד של טלפון, ופשוט להנפיק רשומות לכל אדם כמספר הטלפונים שיש לו (אני משער שיהיו 5000 רשומות ~)
או לתת לכל אדם רשומה אחת בלבד, ושיהיו כמה שדות של טלפונים, והשאילתא תחפש ב OR בכל שדות הטלפון (השערה: 2000 רשומות ~)
להלן השיקולים:
שדה אחד והרבה רשומות:
I. לא צריך להחליט מראש כמה טלפונים מותר לאדם להחזיק (כמה שדות טלפון יהיו)
II. השאילתא קצרה וקליטה - רק על עמודת טלפון אחת, וממילא יותר מהירה?
III. ניתן לאנדקס את עמודת הטלפון הבודדת, ואין צורך לאנדקס את כל עמודות הטלפון - מה שמטיל ספק בכל כדאיות האינדקס.
רשומה אחת והרבה שדות:
I. לא צריך להכפיל את הרשומות כמספר הטלפונים שיש לאותו אדם, ולחזור על שדות מיותרים (שם, כתובת, הערות, תוית, טיפול אישי* וכדומה)
[u:13nmggdx]*תוית[/u:13nmggdx] = משפחה, חברים, עסק, ילדים וכו'. [u:13nmggdx]טיפול אישי[/u:13nmggdx] = כאלו שיקבלו במרכזייה טיפול אחר, למשל ספאם, קרובי משפחה מדרגה ראשונה וכו'.
II. אולי? אם יש פחות רשומות בטבלה, החיפוש יותר מהיר?
**את"ל כהצד השני: רשומה אחת וכמה עמודות,
האם יש דרך יותר נכונה לדעת כמה עמודות טלפון להכין (ובמילים אחרות: מה מספר הטלפונים המקסימלי לאדם),
- מעבר ל: לתקוע מספר שרירותי, למשל 5, ואז כשבעתיד יהיה צורך להגדיר 6 טלפונים, להתחיל לשנות את הטבלה, השאילתא, וכל הנלווים עליהם?**
מקווה שלא נסחפתי יתר על המידה... :roll:
@דוד ל.ט. , אתה עוד תצטער על הרגע הזה שהזמנת אותי לשגע את כולם...
בכל אופן, ברגע שיצאתי מהאף, אל תתבייש - שלח לי אפילו הודעה פרטית "נא להנמיך פרופיל"...
תודה רבה לכולם!
פורסם במקור בפורום CODE613 ב07/11/2017 16:01 (+02:00)