I have a load 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:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With