这更多的是实际数据库设计的问题。我之前设计了较小的数据库,但是现在我所做的(数百万条记录)级别上没有任何数据库,现在我需要比以前更多地考虑效率和性能。使用设计器定义的ID与自动生成的ID相比较
请考虑以下事项:正在给予一个ID为10位左右的大表。这当然是主要关键。根据我的理解,将密钥存储为整数是不好的做法,除非您计划对其进行数学计算(如果我在这里错误,请纠正我)。最好的做法是将密钥存储为nvarchar(n),其中n是密钥的字符串长度?做自己的主键(比如增量键)怎么样?密钥的大小会更小,但是否足以影响您可以直接将数据导入已定义关系的数据库的事实? (使用另一个表中的外键导入表,如状态码一样)。
@ hlgem谢谢。我还有一个问题:如果有几年的数据有唯一的标识符2,但其中一个是8位数字,另外10个最好在这种情况下取消自然键,或者用10个可能的数字作为主键。我不指望ID号会超过10位数。在这个特定的例子中,一年有两个唯一的标识符(不知道为什么),第二年只有一个:较长的一个。感谢您的直观反应! – wootscootinboogie 2012-03-20 17:20:20
第二个问题非常不同,我接受了您的初始回复。谢谢。 – wootscootinboogie 2012-03-20 17:28:53