是否已经考虑为已经拥有大量记录的表定义键,并且对其进行操作的大部分操作都是插入?
答案 0 :(得分:1)
密钥定义最终归结为如何唯一有效地识别表中的任何特定行。如果业务密钥值满足该要求,则它是合适的候选者。一个理想的关键也是瘦。 GUID对此非常可怕(恕我直言),因为它远远大于它所需要的。
如果插入性能是最重要的优先级,并且没有合适的业务键,则可以使用基于整数的标识密钥。如果您预计在几年内会有超过21亿条记录,请使用bigint(9个quintillion记录)。
请记住,您在表格上创建的每个索引都将始终包含PK。拥有一个瘦的PK可以使您的索引更有效率,使用更少的存储空间,内存和CPU。
插入速度受聚簇索引排序顺序以及表中所有非聚簇索引的数量和排序顺序的影响。列存储索引未排序,插入的开销最小。
答案 1 :(得分:1)
如果您的PK存储ID号更重,那么自动增加数量,因此当您定义键时请记住,它会为自动增加数量创建另一个PK列。