Не извиква SQL функцията lower . Както се казва в документацията, това по същество вътрешно извиква lower .
Извикванията се извършват в C функциите, които имплементират citext операции за сравнение. И вместо действително да извиква lower , те отиват директно към основния str_tolower() рутина. Можете да видите това сами в изходния код , повечето от които са относително лесни за следване в този случай.
Така че това, което спестявате, повече или по-малко, е излишъкът от две извиквания на SQL функция за сравнение. Което не е маловажно в сравнение с цената на самото сравнение, но вероятно никога няма да забележите някоя от тях до другите разходи в типична заявка.