我的数据库中存储的大部分文本都是1MB到1.5MB。但不超过1.5MB,因为这是我设定的限制。
以下是我的需求:
我使用PHP和MYSQL。
答案 0 :(得分:1)
哈希是不可逆的。您可以借助散列将1.5MB文本转换为小字符串,但不能将相同的散列转换回原始文本。
您正在寻找的是压缩算法。你可以通过压缩使文件变得更小,但它不可能像哈希一样小。
答案 1 :(得分:1)
COMPRESS()
和UNCOMPRESS()
函数,可以节省数据库空间,还可以编写额外的PHP代码。不是索引TEXT
列[无论它们是否被压缩],您可以存储和索引2个相对较小的内容,以保证该文本是唯一的。
对于大多数散列函数,你更容易被流星击中而不是有2个相同的散列用于不同的文本字符串,并且具有2个缩进长度和散列字符串的可能性比被流星和闪电同时赢得三个彩票。
答案 2 :(得分:0)
我建议使用SHA1,因为它也被git和类似的应用程序用来识别字符串。
请参阅:https://en.wikipedia.org/wiki/Sha1 并且:http://php.net/manual/en/function.hash.php
$hash = hash( 'sha1', $inputData );
答案 3 :(得分:0)
我假设您需要一种压缩算法来减小文本大小。