sql >> Database teknologi >  >> RDS >> PostgreSQL

I PostgreSQL, underligt problem om citext-ydeevne?

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.




  1. #1062 - Dubleret indtastning '' for nøglen 'unique_id', når du forsøger at tilføje UNIQUE KEY (MySQL)

  2. Problem med $_POST, if isset() og mysql_fetch_assoc():ekko returnerer korrekt værdi, sidekilde returnerer altid anden værdi

  3. mysql Adgang nægtet for bruger ''@'localhost' til databasen ''

  4. Hvordan konfigurerer man en SSH-tunnel i Google Cloud Dataflow til en ekstern databaseserver?