我需要在我的数据库中存储大型(30K 未压缩)JSON 字符串。我正在使用 gzip 压缩字符串,因此使用 MySQL 的 BLOB 数据类型来存储它。但是,只有 5% 的请求包含唯一数据,并且只有唯一数据需要存储在数据库中。
我的方法如下。
- array_multisort数据(数组- [a, b, c]实际上与 相同- [a, c, b])。
- json_encode数据(- json_encode比 快;我们需要第3- serialize步的字符串数组表示)。
- sha1数据(比 慢- md5,但不太可能发生冲突)。
- 检查数据库中是否存在哈希。
- 存在:不插入数据。
- 新:gzip 数据并将其存储在散列中。
 
这有什么(除了首先将 JSON 数据存储到数据库之外)听起来很可疑或应该以不同的方式完成吗?
该数据库每月创建大约 1kk 条唯一记录。