SQL Server:String vs Binary?

时间:2010-07-05 00:24:08

标签: sql-server

我有一大堆记录要存储在SQL Server 2008数据库中。每条记录都有一个SHA-1哈希值。显然,以字符串形式存储SHA将占用80个字节,而如果存储为字节则为20个。

在查询数据库时,更好的是SQL:

  1. 比较字符串?
  2. 比较二进制?
  3. 我需要帮助来决定如何存储哈希值,因为它对数据库有巨大的存储影响。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

使用BINARY(20)。没有性能问题(如果有的话,它应该更快)。这些值存在轻微的不便,例如需要在C#中使用byte[]而不是string

答案 1 :(得分:2)

HashBytes将返回varbinary(8000),所以我肯定会坚持使用二进制文件 - http://msdn.microsoft.com/en-us/library/ms174415.aspx - 您将能够在SQL Server中更轻松地使用它