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

lưu trữ giá trị thập phân dưới dạng varchar trong mysql có tốt không?

Câu trả lời ngắn gọn là:Không, nó sẽ ảnh hưởng đến hiệu suất.

Câu trả lời dài hơn:Các trường VARCHAR có độ dài thay đổi, nghĩa là định dạng của các khối cơ sở dữ liệu không thể tính trước kích thước của dữ liệu điền vào đó. Chắc chắn, có độ dài tối đa của trường, nhưng ngoài điều đó, bạn còn tệ hơn.

Mặt khác, việc đọc một VARCHAR và sau đó giải thích nó để phù hợp với một kiểu dấu phẩy động sẽ khiến bạn phải trả giá. Và nó giới thiệu các khả năng vấn đề mới. Cố gắng lấy tất cả các số thập phân chiếm "11,99". Hy vọng bạn mang đúng số chữ số thập phân, vì trong VARCHAR "11.99"! ="11.990".

Và sau đó là lập chỉ mục. Thông thường, không ai lập chỉ mục cho trường thập phân, nhưng nếu bạn làm như vậy, chỉ mục trên trường VARCHAR sẽ yêu cầu nhiều không gian hơn.

Nói chung, không phải là một ý kiến ​​hay nếu lưu một thứ gì đó trong một loại trường không cụ thể. Trong cấu trúc DB, thường được coi là phương pháp hay nhất là càng cụ thể càng tố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. Chạy MySQLDump mà không cần khóa bảng

  2. đếm sai trong truy vấn

  3. Độ dài tối đa của tên bảng trong MySQL

  4. Sử dụng các khóa và giá trị mảng để tạo câu lệnh sql select

  5. Mysql localhost! =127.0.0.1?