@מנצפך שאלה בסיסית, והתשובה מורכבת.
אינדוקס נכון הוא אחת המלאכות המאתגרות בבסיס נתונים.
התשובה הזהירה שלי היא שזה תלוי באופי של המערכת, ובמבנה השאילתות הנפוצות שלך, מה מופיע בתנאי WHERE ו-GROUP BY.
באופן כללי, אם הגישה לרשומה היא תמיד על פי שני השדות, ודאי אינדקס משותף עדיף מאשר שניים נפרדים.
אם לפעמים ניגשים לרשומות על פי אינדקס אחד מהשניים, עדיין יתכן שעדיף אינדקס משותף, אלא שסדר האינדקסים במפתח המשותף חשוב על מנת לאפשר גישה דרך האינדקס ולא לייבא את כל הטבלה. יש לציין את השדה שאליו ניגשים בנפרד כראשון ברשימת השדות באינדקס המשותף.
הנה הסבר קצר על העניין: https://use-the-index-luke.com/sql/where-clause/the-equals-operator/concatenated-keys
והנה תשובה מפורטת מסטאק: https://stackoverflow.com/a/179224