Nie wywołuje funkcji SQL lower . Jak mówi dokumentacja, zasadniczo wewnętrznie wywołuje lower .
Wywołania mają miejsce w funkcjach C, które implementują citext operacje porównawcze. I zamiast wywoływać lower , przechodzą bezpośrednio do podstawowej str_tolower() rutyna. Możesz to zobaczyć na własne oczy w kodzie źródłowym , z których większość jest stosunkowo łatwa do prześledzenia w tym przypadku.
Więc to, co mniej więcej oszczędzasz, to narzut dwóch wywołań funkcji SQL na porównanie. Co nie jest bez znaczenia w porównaniu z kosztem samego porównania, ale prawdopodobnie nigdy nie zauważysz żadnego z nich obok innych kosztów w typowym zapytaniu.