Es ruft nicht die SQL-Funktion lower
auf . Wie die Dokumentation sagt, ist es im Wesentlichen intern ruft lower
auf .
Die Aufrufe erfolgen innerhalb der C-Funktionen, die den citext
implementieren Vergleichsoperationen. Und anstatt tatsächlich lower
zu nennen , gehen sie direkt zum zugrunde liegenden str_tolower()
Routine. Davon können Sie sich selbst im Quellcode<überzeugen /a> , von denen die meisten in diesem Fall relativ einfach zu befolgen sind.
Was Sie also mehr oder weniger sparen, ist der Overhead von zwei SQL-Funktionsaufrufen pro Vergleich. Das ist im Vergleich zu den Kosten des Vergleichs selbst nicht unerheblich, aber Sie würden in einer typischen Abfrage wahrscheinlich nie einen von beiden neben den anderen Kosten bemerken.