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

Thay thế cho chức năng UUID Phiên bản 1 của MySQL?

Mối quan tâm của bạn, rằng "hầu hết UUID là vô dụng và đang lãng phí không gian" vốn có đối với kích thước của kiểu dữ liệu. Bạn sẽ không bao giờ có thể có nhiều mục nhập trong cơ sở dữ liệu của mình như giới hạn lý thuyết là 16 byte cho phép.

Trên thực tế, V1 UUID phù hợp hơn V4 nếu bạn sử dụng UUID chỉ làm ID bảng - vì nó sử dụng địa chỉ MAC và tem thời gian để ngăn xung đột. Trong V4 không có cơ chế này, mặc dù thực tế bạn cũng không cần phải lo lắng quá nhiều về các cuộc đụng độ:) Bạn nên sử dụng V4 UUID thay vì V1 nếu bạn cần UUID của mình không thể đoán trước được.

Ngoài ra, hãy lưu ý rằng việc soạn các giá trị ngẫu nhiên 4x4 byte ví dụ có thể không giống với việc tạo một giá trị ngẫu nhiên 16 byte. Như mọi khi với tiền điện tử và ngẫu nhiên:Tôi sẽ không triển khai quy trình UUID ::V4 của riêng bạn.

Nếu được cài đặt trên máy của bạn, bạn có thể sử dụng php-uuid gói hàng.

Bạn có thể tìm thấy mã ví dụ (có thể được sử dụng trong ứng dụng của bạn) tại đây: http://rommelsantor.com/clog/2012/02/23/generate-uuid-in-php/

Sử dụng nó như thế này:

$uuid = uuid_create(1);

Người dùng có thể cài đặt các gói trên máy chủ web của họ, có thể cài đặt gói được yêu cầu, chẳng hạn như:(ở đây cho ubuntu)

apt-get install php5-dev uuid-dev
pecl install uuid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tham gia cùng một bảng hai lần trên các cột khác nhau

  2. kết nối cơ sở dữ liệu không thành công sau khi tạo tệp jar

  3. Làm cách nào để bảo vệ tên người dùng và mật khẩu MySQL khỏi bị dịch ngược?

  4. chọn 1 hàng ngẫu nhiên với tính năng lọc phức tạp

  5. Biểu mẫu trong PDO để cập nhật dữ liệu