Der kombinierte INDEX ist eine Kombination aus den Schlüsseln "a" und "b". Er verbessert den Zugriff erheblich, wenn entweder "a" oder "a" UND "b" Teil des Suchbegriffs sind.
Dieser Index ist nicht hilfreich, wenn Sie in Ihren SQL-Anweisungen nur "b" angeben.
Daher könnte es sinnvoll sein, zwei verschiedene Indizes bereitzustellen, die jedoch unterschiedliche Namen tragen sollten.
Abhängig von den Zugriffsmustern würde ich einen Index auf "a" und "b" und einen zusätzlichen Index auf "b" empfehlen, wenn dies Ihren Bedürfnissen entspricht.
Bitte bedenken Sie, dass jeder zusätzliche Index die Datenbank bei allen Operationen, die Daten verändern, verlangsamt. In manchen Fällen ist es besser, einige Indizes wegzulassen. Normalerweise ist es ein guter Ratschlag, KEINE Indizes für irgendeine Spalte einer Tabelle zu verwenden.
Noch ein Tipp: Um zu entscheiden, ob ein INDEX(a,b) oder INDEX(b,a) verwendet werden soll, schauen Sie sich die Verteilung Ihrer Daten an. Setzen Sie die Werte mit der größten Streuung in die erste Spalte des Indexes, um die Selektivität des Indexes zu erhöhen. Dieser Wert richtet sich normalerweise nach der Qualität des ersten Indexelements.
Zum Beispiel sollte ein Index auf die Spalten NAME und SEX als INDEX(NAME, SEX) erstellt werden, da es viel mehr Namen als verschiedene Geschlechter gibt.