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

Hiệu suất MySQL của trường varchar duy nhất so với bigint duy nhất

Giá trị hex của bạn có phải là GUID không? Mặc dù tôi đã từng lo lắng về hiệu suất của các mục dài như chỉ mục, tôi nhận thấy rằng trên cơ sở dữ liệu hiện đại, sự khác biệt về hiệu suất trên thậm chí hàng triệu bản ghi là khá không đáng kể.

Một vấn đề tiềm ẩn lớn hơn là bộ nhớ mà chỉ mục sử dụng (ví dụ:16 byte so với 4 byte int), nhưng trên các máy chủ mà tôi kiểm soát, tôi có thể cấp phát cho điều đó. Miễn là chỉ mục có thể nằm trong bộ nhớ, tôi thấy rằng có nhiều chi phí từ các hoạt động khác mà kích thước của phần tử chỉ mục không tạo ra sự khác biệt đáng chú ý.

Mặt khác, nếu bạn sử dụng GUID, bạn có được sự độc lập của máy chủ đối với các bản ghi được tạo và linh hoạt hơn trong việc hợp nhất dữ liệu trên nhiều máy chủ (đó là điều tôi quan tâm, vì hệ thống của chúng tôi tổng hợp dữ liệu từ các hệ thống con).

Có một biểu đồ trên bài viết này dường như chứng minh cho nghi ngờ của tôi: Thần thoại, GUID so với Tự động gia tăng



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. đối sánh toàn bộ các từ trong khi bỏ qua các phụ tố của từ bằng cách sử dụng regex

  2. Giải pháp đa đăng nhập Python

  3. MySQL loại bỏ một số khóa ngoại

  4. Có thể chuyển các bảng MỚI và CŨ từ một trình kích hoạt vào một thủ tục trong MySQL không?

  5. Cha / Con trong cùng một bảng