התלמוד של המפתחהתלמוד של המפתח

מסכת ביצועים

מסכת האינדקסים

2 הלכות

א

טבלה ללא אינדקסים

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

שאלו: ומדוע אין להוסיף אינדקס לכל עמודה? אמר רב: נכון שמזרז חיפוש. אך מאיט כתיבה. שכן בכל INSERT ובכל UPDATE — מתעדכנים כל האינדקסים. שאלו: ואם נוסיף עשרים אינדקסים? אמר רב: הקריאות יהיו מהירות כברק. שאלו: והכתיבות? אמר רב: כבוץ. עמוק. בגשם.

ב

מתי נוסיף אינדקס

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

אמר רבא: כשה-EXPLAIN מחזיר Seq Scan על טבלה גדולה — הוסף אינדקס. ולא לפני. ולא כי "אולי יצטרכו בעתיד." ויצאו התלמידים ועיניהם פקוחות, ומאז לא הוסיפו אינדקס ללא EXPLAIN, ולא הסירו אינדקס ללא EXPLAIN, ושלום היה בדאטהבייס.