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

Varchar hoặc Kiểu dữ liệu văn bản cho các chuỗi có độ dài lên đến vài nghìn ký tự

Có nhiều nơi VARCHARTEXT làm hoặc không khác nhau. Một số điều tôi nói:

  • Nếu độ dài tối đa hơn 512 ký tự , đi với TEXT .
  • Không bao giờ sử dụng TINYTEXT - nó chỉ có các phủ định liên quan đến VARCHAR(255) .
  • Không sử dụng VARCHAR(255); chọn một giá trị tối đa hợp lý thay vì 255. (Đây là một tối ưu hóa nhỏ liên quan đến bảng tạm thời trong các truy vấn phức tạp.)
  • Sử dụng CHAR chỉ dành cho những thứ có độ dài thực sự cố định. Trong hầu hết các trường hợp như vậy, hãy sử dụng CHARACTER SET ascii (hoặc latin1). (Nếu không, nó sẽ chiếm nhiều dung lượng hơn bạn mong đợi.
  • Sử dụng CHARACTER SET ut8mb4 . (Các trường hợp ngoại lệ ngày càng hiếm hơn.)

(Xin lỗi, tôi lạc đề. Quay lại chủ đề ...)

Tôi lập chỉ mục, trong bố cục của các hàng InnoDB (có 4 ROW_FORMATs khác nhau ), v.v., VARCHAR(513) về cơ bản sẽ không thể phân biệt được với TEXT .

Một trong số ít đối số cho VARCHAR là nó giới hạn cửa hàng trong độ dài đã cho. Nhưng tần suất như thế nào là quan trọ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. Không thể tìm thấy phương thức UseMysql trên DbContextOptions

  2. Sắp xếp trường varchar theo số trong MySQL

  3. Python MySQLDb chèn với các câu lệnh đã chuẩn bị

  4. Làm thế nào để sử dụng kiểu int / long không dấu với Entity Framework?

  5. Làm thế nào để sắp xếp lại một khóa chính?