Hallo Tobias,
danke für die Zahlen. Die Kardinalität der drei Spalten ist leider sehr schlecht. Ob da folgender Index etwas bringt ist die Frage.
1. Bitte diese beiden kombinierten Index erzeugen und nochmal den UPDATE testen
ALTER TABLE highscores
ADD KEY idx_update_1 (siege, niederlagen, unentschieden, spielmodus),
ADD KEY idx_update_2 (siege DESC, niederlagen, unentschieden DESC, spielmodus);
2. und für den EXPLAIN diesen SQL ausführen und das Ergebnis zeigen
EXPLAIN
SELECT positionAlt, position
FROM highscores
WHERE spielmodus IS NULL
ORDER BY siege DESC, niederlagen ASC, unentschieden DESC;
Mich interessiert mal, ob und welcher der neuen KEYs von MySQL verwendet wird oder nicht. Der nicht verwendete KEY (idx_update_1 oder idx_update_2) kann dann wieder entfernt werden, da er unnötig Speicherplatz braucht und eventuelle UPDATEs bremst.
Grüße
Thomas