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

Tại sao tôi nên sử dụng int thay vì một byte hoặc viết tắt trong C #

Về mặt hiệu suất, int nhanh hơn trong hầu hết các trường hợp. CPU được thiết kế để hoạt động hiệu quả với các giá trị 32 bit.

Các giá trị ngắn hơn rất phức tạp để xử lý. Chẳng hạn, để đọc một byte đơn, CPU phải đọc khối 32 bit chứa nó, sau đó che đi 24 bit phía trên.

Để ghi một byte, nó phải đọc khối 32 bit đích, ghi đè 8 bit thấp hơn với giá trị byte mong muốn và ghi lại toàn bộ khối 32 bit.

Tất nhiên, khôn ngoan về không gian, bạn tiết kiệm được một vài byte bằng cách sử dụng các kiểu dữ liệu nhỏ hơn. Vì vậy, nếu bạn đang xây dựng một bảng có vài triệu hàng, thì các kiểu dữ liệu ngắn hơn có thể đáng xem xét. (Và đó cũng có thể là lý do chính đáng tại sao bạn nên sử dụng các kiểu dữ liệu nhỏ hơn trong cơ sở dữ liệu của mình)

Và tính đúng đắn, một int không dễ dàng bị tràn. Điều gì sẽ xảy ra nếu bạn nghĩ giá trị của bạn sẽ vừa với một byte, và sau đó tại một số thời điểm trong tương lai, một số thay đổi trông vô hại đối với mã có nghĩa là các giá trị lớn hơn được lưu trữ vào nó?

Đó là một số lý do tại sao int nên là kiểu dữ liệu mặc định của bạn cho tất cả dữ liệu tích phân. Chỉ sử dụng byte nếu bạn thực sự muốn lưu trữ các byte máy. Chỉ sử dụng short nếu bạn đang xử lý định dạng tệp hoặc giao thức hoặc giao thức tương tự thực sự chỉ định các giá trị số nguyên 16 bit. Nếu bạn chỉ xử lý các số nguyên nói chung, hãy đặt chúng là int.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Những lầm tưởng về hiệu suất máy chủ SQL có hại, phổ biến

  2. SQL Server 2008 Chuỗi trống so với Không gian

  3. SQL Server CHỌN N dòng CUỐI CÙNG

  4. DATEPART () Ví dụ trong SQL Server

  5. SQL Server:thả bảng xếp tầng tương đương?