2008-09-08 63 views
12

Trong SQL Server sẽ là varbinary(16) là cách hiệu quả nhất để lưu trữ mã băm MD5 ? Sẽ không làm bất cứ điều gì với nó ngoại trừ trả lại nó trong một truy vấn linq.Lưu trữ mã băm MD5 trong SQL Server

Trả lời

16

Dựa trên số documentation on MSDN và trải nghiệm của tôi, nhị phân tốt hơn, vì băm md5 không thay đổi về kích thước.

Kích thước cho loại dữ liệu nhị phân là n byte, do đó kích thước của dữ liệu. Kích thước của một kiểu dữ liệu varbinary là n byte + 2 byte trên đầu trang của kích thước của dữ liệu.

0

Giá trị rỗng thay đổi mọi thứ:

Sai phân đôi (16) là 2 byte.
Một số nhị phân rỗng (16) là 16 byte.
16 byte được lưu trữ trong varbinary (16) mất 18 byte.
16 byte trong nhị phân (16) mất 16 byte.

https://stackoverflow.com/a/3731195

Các vấn đề liên quan