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

SQL:Tốt hơn là một Bit hoặc một ký tự (1)

Đối với SQL Server:tối đa 8 cột thuộc loại BIT có thể được lưu trữ bên trong một byte đơn, trong khi mỗi cột thuộc loại CHAR(1) sẽ chiếm một byte.

Mặt khác:một BIT cột có thể có hai giá trị (0 =false, 1 =true) hoặc không có giá trị nào (NULL) - trong khi một CHAR(1) có thể có bất kỳ giá trị ký tự nào (nhiều khả năng hơn)

Vì vậy, thực sự, nó đi xuống:

  • bạn có thực sự cần trường true / false (yes / no) không? Nếu vậy:sử dụng BIT
  • bạn có cần thứ gì đó có nhiều hơn hai giá trị có thể không - hãy sử dụng CHAR(1)

Tôi không nghĩ rằng nó tạo ra bất kỳ sự khác biệt đáng kể nào, từ quan điểm hiệu suất - trừ khi bạn có hàng chục nghìn cột. Sau đó, tất nhiên, sử dụng BIT có thể lưu trữ tối đa 8 cột trong một byte duy nhất sẽ có lợi. Nhưng một lần nữa:đối với trường hợp cơ sở dữ liệu "bình thường" của bạn, nơi bạn có một vài, một chục cột như vậy, nó thực sự không tạo ra sự khác biệt lớn. Chọn loại cột phù hợp với nhu cầu của bạn - đừng quá lo lắng về hiệu suấ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. Cách tìm một chuỗi trong một chuỗi trong SQL Server

  2. COUNT () so với COUNT_BIG () trong SQL Server:Sự khác biệt là gì?

  3. Tự động hóa quá trình xử lý mô hình bảng của cơ sở dữ liệu dịch vụ phân tích (SSAS) trong SQL Server

  4. Trước tiên, ánh xạ các khóa tổng hợp bằng mã EF

  5. Di chuyển đám mây 101:Di chuyển từ SQL Server sang Azure