No llama a la función SQL lower
. Como dice la documentación, esencialmente internamente llamadas lower
.
Las llamadas ocurren dentro de las funciones C que implementan el citext
operaciones de comparación. Y en lugar de llamar a lower
, van directamente al str_tolower()
subyacente rutina. Puedes verlo por ti mismo en el código fuente , la mayoría de los cuales son relativamente fáciles de seguir en este caso.
Entonces, lo que está ahorrando, más o menos, es la sobrecarga de dos llamadas a funciones SQL por comparación. Lo cual no es insignificante, en comparación con el costo de la comparación en sí, pero probablemente nunca notará ninguno de ellos junto a los otros costos en una consulta típica.