ניהול מפתחות

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

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

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

2 מחשבות על “ניהול מפתחות

  1. a

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

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

    אשמח אם תוכל לבאר את הדברים – אם אתה חושב שלא הבנתי אותם נכון.

    1. ik_5 מאת

      המאמר על מפתחות רעים בא להציג שכאשר אתה יוצר מפתח עם מידע שחוזר על עצמו, במקרה הזה האינדקס יכיל את הערך 0 או הערך 1 בלבד, אז אין משמעות בעצם לאינדקס.
      חבל ששכחתי לשים את זה בפוסט כאן, אבל יצרתי בתחילת השנה פוסט בנושא של "האם המפתחות שלכם יעילים" (https://idkn.wordpress.com/2011/01/27/does-your-index-effective/).

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

      אם אני מחפש "גברים" לחוד ו"נשים" לחוד, לא תמיד מפתח יהיה מה שיהיה חשוב. לפעמים פעולה כמו HAVING או אפילו פונקציית חלון תהיה יעילה יותר בנושא (תלוי בשימוש שלי כמובן).

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

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

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s