在SQL Server中,varbinary(16)
是存储MD5哈希的最有效方式吗?除了在linq查询中返回它之外,不会对它做任何事情。
根据documentation on MSDN和我的经验,二进制文件更好,因为md5哈希的大小不变。
二进制数据类型的大小是n个字节,因此是数据的大小。 varbinary数据类型的大小是n个字节+ 2个字节,位于数据大小之上。
空值改变了一些事情:
null varbinary(16)是2个字节。 空二进制(16)是16个字节。 存储在varbinary(16)中的16个字节占用18个字节。 二进制(16)中的16个字节占用16个字节。