Ein Expression index hilft da gar nichts. Ein Index dient prinzipiell dazu, eine Suche bzw die Sortierung zu beschleunigen, aber wenn für eine
Query keine case-insensitive Collation angegeben ist, wird der expression Index zwar in der Datenbank vorhanden sein, aber für die
Query einfach nicht verwendet werden.
Das Vorhandensein oder nicht Vorhandensein eines Index beeinflusst in keiner Weise die Reihenfolge, in der Datensätze von einer
Query geliefert werden.
entweder die Collation der entsprechenden Spalte ist von vorneherein caseinsensitiv, oder man muss bei der
Query eine entsprechende collate Klausel angeben. Ist eine Spalte mit einer case insensitiven Collation definiert, dann ist auch ein Index auf die Spalte automatisch case insensitiv, ein expression index auf upper() ist dann unnötig.