存储sql Base-64与二进制磁盘空间

时间:2011-06-27 18:46:18

标签: c# sql-server

哪种方式是保存sql数据比较base-64或binary的最有效方法?我正在使用SQL Server数据库。

我相信二进制文件我们必须将其存储为二进制或文本数据,但使用base-64我们可以将其存储为文本。

我认为二进制基于8位/ 1字节,基数64是我不知道的

The example of the text HELLO WORLD. TODAY IS MONDAY.
[Base 64 result][2]:SEVMTE8gV09STEQuIFRPREFZIElTIE1PTkRBWS4=
[Binary Result][3]:01001000 01000101 01001100 01001100 01001111 00100000 01010111 01001111 01010010 01001100 01000100 00101110 00100000 01010100 01001111 01000100 01000001 01011001 00100000 01001001 01010011 00100000 01001101 01001111 01001110 01000100 01000001 01011001 00101110 

2 个答案:

答案 0 :(得分:2)

Base 64每个字符仅使用6位,该字节的其他2位被浪费,这意味着您使用BLOB存储的效率低33.3%。

Base64的优势在于您必须使用安全可转移的文本字符串,并且可以接受存储效率的损失,例如在XML文件中。

答案 1 :(得分:1)

答案取决于您对“有效”的定义。我假设你的意思是在使用的存储空间方面。 Base64编码使用64个可打印字符(6比特)来表示所有256字节组合(8比特),例如,您的净存储利用率仅为75%。二进制格式使用100%的可用容量,效率更高。