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

UTF-8:Tổng quát? Thùng rác? Unicode?

Nói chung, utf8_general_ci nhanh hơn utf8_unicode_ci , nhưng ít đúng hơn.

Đây là sự khác biệt:

Đối với bất kỳ bộ ký tự Unicode nào, các thao tác được thực hiện bằng cách sử dụng đối chiếu _general_ci nhanh hơn so với các thao tác đối với đối chiếu _unicode_ci . Ví dụ:so sánh đối chiếu utf8_general_ci nhanh hơn, nhưng hơi kém chính xác hơn so với đối chiếu utf8_unicode_ci. Lý do cho điều này là utf8_unicode_ci hỗ trợ các ánh xạ như mở rộng; nghĩa là khi một ký tự được so sánh ngang bằng với các kết hợp của các ký tự khác. Ví dụ, trong tiếng Đức và một số ngôn ngữ khác, "ß" bằng "ss". utf8_unicode_ci cũng hỗ trợ các ký tự co và có thể bỏ qua. utf8_general_ci là một đối chiếu kế thừa không hỗ trợ các ký tự mở rộng, thu nhỏ hoặc có thể bỏ qua. Nó chỉ có thể thực hiện so sánh 1-1 giữa các ký tự.

Trích dẫn từ: http://dev.mysql. com / doc / refman / 5.0 / en / charset-unicode-sets.html

Để được giải thích chi tiết hơn, vui lòng đọc bài đăng sau từ các diễn đàn MySQL: http:/ /forums.mysql.com/read.php?103,187048,188748

Đối với utf8_bin:Cả utf8_general_ci utf8_unicode_ci thực hiện so sánh không phân biệt chữ hoa chữ thường. Trong ràng buộc, utf8_bin phân biệt chữ hoa chữ thường (trong số các điểm khác biệt khác), vì nó so sánh các giá trị nhị phân của các ký tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kích thước của cột int (11) trong mysql tính bằng byte là bao nhiêu?

  2. Lỗi:Máy khách không hỗ trợ giao thức xác thực do máy chủ yêu cầu; xem xét nâng cấp máy khách MySQL

  3. Mysql chèn ngày giờ ngẫu nhiên trong một phạm vi ngày giờ nhất định

  4. Cách quản lý các phiên trong Node.js bằng Passport, Redis và MySQL

  5. Sử dụng JDeveloper với Cơ sở dữ liệu MySQL và Cơ sở dữ liệu Oracle trên AWS RDS, Phần 1