Det kalder ikke SQL-funktionen lower . Som dokumentationen siger, er det i det væsentlige internt kalder lower .
Kaldningerne sker inden for C-funktionerne, som implementerer citext sammenligningsoperationer. Og i stedet for faktisk at kalde lower , går de direkte til den underliggende str_tolower() rutine. Du kan selv se dette i kildekoden , hvoraf de fleste er relativt nemme at følge i dette tilfælde.
Så det, du sparer, mere eller mindre, er overheaden af to SQL-funktionskald pr. sammenligning. Hvilket ikke er ubetydeligt sammenlignet med omkostningerne ved selve sammenligningen, men du vil sandsynligvis aldrig bemærke nogen af dem ved siden af de andre omkostninger i en typisk forespørgsel.