Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Điều chỉnh truy vấn MySQL - Tại sao việc sử dụng một giá trị từ một biến lại chậm hơn nhiều so với việc sử dụng một chữ?

Tôi đã viết xong câu hỏi khi câu trả lời đập vào mắt tôi, vì vậy tôi vẫn đăng bài để chia sẻ kiến ​​thức!

Tôi nhận ra rằng giá trị trả về của hàm ẩn dụ là UTF8.

Việc so sánh với trường latin1 rõ ràng là phải gánh chịu chi phí hiệu suất khá cao.

Tôi đã thay thế phép gán biến bằng:

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

Bây giờ truy vấn chạy nhanh như tôi mong đợi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra xem ký tự UTF-8 có yêu cầu tối đa ba byte hay không

  2. Khi chạy EXPLAIN, nếu giá trị trường cho key không rỗng mà Extra trống thì key có được sử dụng không?

  3. Không thể truy xuất giá trị tôi muốn Chọn bằng Quy trình đã Lưu trữ

  4. Không thể khởi động Mysql trên Mac

  5. Làm cách nào để sử dụng AJAX để tải lên tệp CSV lớn?