
הטקסט המלא של הדקות הראשונות בהרצאה «הוספת אינדקס ב-SQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כאשר אנחנו רוצים לחפש מידע ויש לנו דאטאבייס שכמובן יכול להכיל כמות מאוד מאוד גדולה של נתונים, אז לפי מה אנחנו בעצם מבצעים את החיפוש? אולי אנחנו רוצים לחפש לפי שם פרטי, בסדר. אולי אנחנו רוצים לחפש לפי שם משפחה, גם טוב.
אבל יכול להיות מצב שהרבה פעמים אנחנו מחפשים לפי דברים יותר ספציפיים. לדוגמה, אם האימייל הוא היוזרניים נניח, הרבה פעמים אנחנו רוצים לחפש לפי האימייל.
היוזר מכניס את האימייל שלו ואנחנו רוצים להביא את הפרטים לפי האימייל. מה הבעיה? אין בעיה. אבל אם יש כמויות עצומות של מידע, החיפוש לוקח זמן מפני שהדאטאבייס אמור לעבור אחד-אחד ולשאול: זה האימייל שנתנו לי? לא.
זה האימייל שנתנו לי? לא. זה האימייל שנתנו לי? לא. הוא ילך את אחד-אחד-אחד-אחד ואם יש לי כמויות עצומות של מידע ברמה של מיליונים של רשומות, זה כמובן יכול להיות מאוד איטי. אז אנחנו רוצים לייעל את כל החיפושים האלה, ומה שאנחנו יכולים לעשות זה פשוט למיין מידע ממוין לפי העמודה הזאת, אז החיפוש שלו מתקצר משמעותית.
אם אתם מחפשים מספר בין מיליון מספרים שהם לא ממויינים, אתם צריכים לעבור אחד-אחד-אחד-אחד. אם אתם מחפשים מספר בין מיליון מספרים שהם ממויינים, אתם לא צריכים לעבור אחד-אחד, אתם משתמשים פה באלגוריתם אחר, הוא נקרא חיפוש בינארי, הוא מחלק את כל הכמות לחצי ואומר בוא נחפש אותו באמצע.
ואז אני מסתכל האם המידע גדול יותר או קטן יותר ולפי זה אני זורק חצי מהנתונים ואז נשאר לי חצי בוא נחלק שוב באמצע. זה בעצם אלגוריתם קצת יותר מתקדם אבל הוא משמעותית מהר יותר.
אז אנחנו לא באמת יכולים למיין את כל המידע הזה בדאטאבייס מה שהדאטאבייס עושה הוא יכול לעשות משהו אחר הוא יכול להעתיק את כל העמודה הזאת לאזור אחר בזיכרון ואותו למיין אז לבצע את החיפוש על המידע האחר הממויין, למצוא את הרשומה ולהצביע בחזרה על הרשומה האמיתית שנמצאת.
הדבר הזה נקרא אינדקס. אנחנו יכולים להציב על העמודה הזאת אינדקס, וזה אומר שהדאטאבייס יצטרך לקחת את המידע הזה, לשכפל אותו למקום אחר שהוא ממויין, לחפש במקום האחר כשאנחנו מחפשים לפי אימייל.
אם הוא מצא, הוא יודע בדיוק איזה רשומה הוא. איך אנחנו יוצרים אינדקס? בואו ניגש לאזור של הדיזיינר ויש לנו כאן שוב פעם Manage Indexes and Keys.