这只是对正在创建的网站和其他大型网站的考虑。
我正在使用标识列来存储我的一些表的 ID,并且我有一些类,其 Id 用 Int32
装饰以保存从数据库中检索到的 ID 的值。
我担心的是,随着网站越来越大,一些呈指数增长的表格(例如 QuestionComments
)将来可能会超过 Int32
限制。所以我更改了我的类以使用 long
。
public class Question
{
public long QuestionID { get; set; }
...
}
//将数据库值转换为.Net类型
Question q = new Question();
q.QuestionID = Convert.ToInt32(myDataRow["QuestionID"]);
我的假设有多真实?使用 UniqueIdentifier 会更好吗?还有其他方法可以解决这个问题吗?
最佳答案
您能想象为任何一个实体存储数十亿条记录吗?如果是这样,您可以切换到 BigInt
,也称为 Int64
。当然,一旦您开始看到数百万条记录,您就需要开始考虑数据分区和归档以避免严重的性能问题。如果您有一个基础架构团队,您可能想让他们知道您预计会大量使用并且需要认真的维护计划。如果您是基础架构团队,那么您最好按部就类!
关于c# - Identity Column 的 Int32 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12082841/