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

enum hoặc char (1) trong MySQL

Cũng không. Bạn thường sử dụng tinyint với bảng tra cứu

  • char (1) sẽ hơi chậm hơn vì so sánh sử dụng đối chiếu

  • nhầm lẫn:Khi bạn mở rộng đến nhiều hơn A và P

  • sử dụng một chữ cái giới hạn bạn khi bạn thêm nhiều loại hơn. Xem điểm cuối cùng.

  • mỗi hệ thống tôi đã thấy có nhiều hơn một ứng dụng khách, ví dụ như báo cáo. A và P phải giải quyết thành Hoạt động và Bị động cho mỗi mã khách hàng

  • khả năng mở rộng:thêm một loại nữa ("S" cho "Bị treo") bạn có thể một hàng vào bảng tra cứu hoặc thay đổi nhiều mã và ràng buộc. Và cả mã khách hàng của bạn nữa

  • bảo trì:logic ở 3 nơi:ràng buộc cơ sở dữ liệu, mã cơ sở dữ liệu và mã máy khách. Với tra cứu và khóa ngoại, nó có thể ở một nơi

  • Enum không di động

Mặt lợi của việc sử dụng một ký tự đơn hoặc Enum

Lưu ý:có một câu hỏi liên quan đến DBA.SE MySQL về Enums . Khuyến nghị cũng nên sử dụng bảng tra cứu ở đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn chọn MySQL rất chậm

  2. MySql chọn IN chuỗi mệnh đề được phân tách bằng dấu phẩy

  3. Sự kiện Cronjob hoặc MySQL?

  4. SQL:Số nhóm trong các hàng kết quả riêng lẻ

  5. Có cách nào để tự động tạo trình kích hoạt khi tạo bảng mới trong MySQL không?