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

MySQL Query Tuning - Защо използването на стойност от променлива е толкова по-бавно, отколкото използването на литерал?

Приключих с писането на въпроса, когато отговорът ме удари, така че все пак публикувам за споделяне на знания!

Разбрах, че върнатата стойност на функцията за метафон е UTF8.

Сравнението с поле latin1 очевидно доведе до доста тежко изпълнение.

Замених присвояването на променлива с:

SET @metaphone_val:= CONVERT(double_metaphone(p_parameter) USING latin1);

Сега заявката работи толкова бързо, колкото очаквах.




  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 екземпляри, работещи на една и съща машина - ClusterControl Съвети и трикове

  2. Как да потърсите данни от база данни от използване на стойности на низ за заявка

  3. Върнете само един ред от най-дясната таблица за всеки ред в най-лявата таблица

  4. Как работи функцията REGEXP_LIKE() в MySQL

  5. Как да получите вмъкнат идентификатор с помощта на Spring Jdbctemplate.update(String sql, obj...args)