PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

В PostgreSQL, странен проблем относно производителността на citext?

Не извиква SQL функцията lower . Както се казва в документацията, това по същество вътрешно извиква lower .

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

Така че това, което спестявате, повече или по-малко, е излишъкът от две извиквания на SQL функция за сравнение. Което не е маловажно в сравнение с цената на самото сравнение, но вероятно никога няма да забележите някоя от тях до другите разходи в типична заявка.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. алтернатива на mysql_insert_id за postgresql

  2. Кавичките са неправилни при използване на crosstab() в PostgreSQL

  3. Извадете месеците от дата в PostgreSQL

  4. Дълготрайни заявки „COMMIT“ със състояние „idle“ в pg_stat_activity

  5. Подобни UTF-8 низове за поле за автоматично довършване