localhorst: Collation on the fly

Beitrag lesen

Hallo Rolf,

dazu habe ich gerade keine Quelle. Ich würde aber annehmen, dass eine COLLATE Klausel, die dazu führt, dass nicht die Collation des/der indexierten Feldes/r verwendet werden kann, den Gebrauch des Index verhindert, da sich durch die Collation die Reihenfolge der Werte ändert und damit der BTREE des Index nicht mehr nutzbar ist.

In MYSQL 8 kann man einen Index aus einer Expression erzeugen und darin auch die COLLATE Option verwenden. In 5.7 geht das noch nicht, und in MariaDB sehe ich es auch nicht, da muss dann wohl die Column die passende Collation haben (oder man muss eine generated column mit passender Collation hinzufügen).

Danke für deine Überlegungen.
So würde ich auch denken.

Bei 1.200 Rows mag das nicht ins Gewicht fallen. Bei 1.200.000 dürfte es dann schon lange unangenehm sein.

Mit Explain könnte man das doch bestimmt auch sichtbar machen!?
Leider habe ich keine DB zum Testen zur Verfügung.

Hat hier jemand Zeit und Gelegenheit?

Grüße localhorst