Wenn ein Index für ein Where, Group oder Order-Feld existiert so wird dieser auch verwendet.
Sinn macht also eher ein Index auf das Textfeld mit Upper(), da SQL dann schon mal einen Zugriff spart.

Eine Where-Index mit LIKE macht überhaupt keinen Sinn, da der DROP/CREATE ja auch einen Tabelscan macht, was durch den Select ebenso erfolgt.
Und was passiert, wenn 2 User jeweils was anderes suchen?
Soll der eine dann warten oder nimmt der 2. dem 1. den Index weg?