sql >> Database >  >> RDS >> PostgreSQL

In PostgreSQL, raar probleem over citext-prestaties?

Het roept de SQL-functie lower niet aan . Zoals de documentatie zegt, is het in wezen intern roept lower . aan .

De aanroepen gebeuren binnen de C-functies die de citext . implementeren vergelijkende operaties. En in plaats van daadwerkelijk lower te bellen , gaan ze rechtstreeks naar de onderliggende str_tolower() routine. Je kunt dit zelf zien in de broncode , waarvan de meeste in dit geval relatief eenvoudig te volgen zijn.

Dus wat u min of meer bespaart, is de overhead van twee SQL-functieaanroepen per vergelijking. Wat niet onbelangrijk is, vergeleken met de kosten van de vergelijking zelf, maar je zou waarschijnlijk nooit een van beide opmerken naast de andere kosten in een typische zoekopdracht.




  1. MySQL:Groeperen op twee kolommen en optellen

  2. MYSQL 8 uur time-out probleem

  3. Hoe gebruik je meerdere databases voor één rails 3.1-app in Heroku?

  4. Hoe mysqli-query te gebruiken met een apart connection.php-bestand?