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.