想象一下,您必须从 1 到 10 询问世界上每个人的幸福感。每个人都会做出回应。有多达 80 亿人,因此您必须使用 bigint 作为密钥(假设我们已经在另一个数据库中拥有身份,我们只需要密钥),而您实际上拥有近 80 亿条唯一记录。然后,对于每条记录,您必须存储一个从 1 到 10 的值——在大多数将映射到字节数据类型的数据库中(这只是一个假设,我们也可以在 0 到 255 的范围内测量幸福感)。
80 亿人 *(8 字节密钥 + 1 字节值)= 64 Gb 密钥值 + 8 Gb 值 = 72 Gb 总大小。
是否可以在任何主流数据库(例如 SQL Server 或 MySql)中大幅减少相同任务的存储大小?
我不打算进行这样的民意调查并且没有那么多用户,大键是其他几个 int 键的笛卡尔积的结果,从长远来看,我可以拥有数十亿条记录,每个记录都有简单的数值较小ID的组合。