Die wahrscheinlichste Erklärung ist, dass MySQL einen anderen Ausführungsplan wählt, wenn Sie dieses Prädikat hinzufügen.
Sie könnten die EXPLAIN-Ausgabe der beiden Abfragen vergleichen, die mit journey_day.day=3
Prädikat und das ohne.
Ich würde vermuten, dass MySQL eine andere Join-Reihenfolge wählt und MySQL sich dafür entscheidet, einen Index zu verwenden, der day
hat als führende Spalte, wenn das Prädikat enthalten ist. Und wahrscheinlich führt das dazu, dass auf viel mehr Zeilen zugegriffen und diese untersucht werden müssen, oder möglicherweise erzeugt MySQL eine große Zwischenmenge, bevor es Zeilen herausfiltert.