【发布时间】:2009-03-12 15:49:23
【问题描述】:
我们有一个表将有 1 亿到 10 亿行(表名称:存档)
此表将从另一个表 Users 中引用。
存档表的主键有 2 个选项:
选项 1:dataID (bigint)
选项 2:用户 ID + 日期时间(4 字节版本)。
架构:
用户 - 用户 ID(整数)
存档 - 用户身份 - 日期时间
或
存档 - dataID(大整数)
哪个会更快?
我们不愿使用 Option#1,因为 bigint 是 8 个字节,并且有 1 亿行,这将增加分配的存储空间。
更新 好的,抱歉我忘了提,userID 和 datetime 必须是不管的,所以这就是不向表中添加另一列 dataID 的原因。
【问题讨论】:
-
小修正:短语应该是“加起来有很多存储空间”。 Allot 的含义完全不同。
标签: sql-server sql-server-2008 join