我正在写什么是内联网应用程序,其中一个功能大致类似于内容投票 - 与SO,亚马逊和其他许多网站无异。在数据库中存储“选票”
假设每个可投票页面有一个唯一的ID,并且每个用户(他们认证)都有唯一的ID,最简单的方法似乎是有一个“票”表...
ContentID int
UserID int
VoteValue int
但是这会为每票投票创建一行 - 包含数百万条内容和数以万计的用户,该表将会巨大巨大。这是做这件事的最好方法吗?我的意思是,如果一个int需要4个字节,每行需要12个字节。如果一百万条内容获得一百张选票,那么存储空间就是400MB +,是吗?似乎...很多:)。即使VoteValue是一个tinyint(这可能很好),只有1个字节,在表中仍然有几百兆字节。我的意思是sheesh。
有没有更聪明的方法?我应该将这张“投票”表格存储在单独的数据库中(忽略潜在的数据完整性问题),以便将它与存储和性能方面的“主要”数据分开吗?
(我认识到,在当今世界400MB不是一吨 - 但似乎像很多刚刚存储票,是啊)