sql >> Databasteknik >  >> RDS >> PostgreSQL

I PostgreSQL, konstig fråga om citextprestanda?

Den anropar inte SQL-funktionen lower . Som dokumentationen säger är det i huvudsak internt anropar lower .

Anropen sker inom C-funktionerna som implementerar citext jämförelseoperationer. Och snarare än att faktiskt anropa lower , går de direkt till den underliggande str_tolower() rutin. Du kan se detta själv i källkoden , varav de flesta är relativt lätta att följa i det här fallet.

Så vad du sparar, mer eller mindre, är overheaden av två SQL-funktionsanrop per jämförelse. Vilket inte är obetydligt, jämfört med kostnaden för själva jämförelsen, men du skulle förmodligen aldrig märka någon av dem bredvid de andra kostnaderna i en typisk fråga.




  1. Anpassad aggregatfunktion

  2. Hur gör man time_to_minute i Mysql?

  3. Apache Dbutils ändrar kolumnnamnet i uppdateringen Sql

  4. Extrahera en fullständig tidsstämpel (inkluderat datum) från en Select-fråga; Orakel