I have a 开发者_如何学Cload of records to store in a SQL Server 2008 database. Each of the records has a SHA-1 hash. Obviously storing the SHA in String form will take up 80 bytes compared to 20 if stored as Bytes.
When quering the database, which is SQL better at:
- Comparing Strings?
- Comparing Binary?
I need help deciding how to store the hashes as it has a huge storage impact on the database. Thanks for any help.
Use BINARY(20)
. There are no performance issues (it should be faster, if anything). There are minor inconveniences with such values, such as the need to use byte[]
instead of string
in C#.
HashBytes will return varbinary(8000), so I would definitely stick to binary - http://msdn.microsoft.com/en-us/library/ms174415.aspx - you'll be able to use it more easily in SQL Server
精彩评论