其实我觉得比较好的是两种方法都用。最好是业务主键做为聚集索引,identity做唯一索引。identity并不适合做为聚集索引,因为 identity若做为聚集索引,性能不好(虽然我自己也没感觉到)。用identity做为聚集索引,会造成局部热点,也是就某个存储区域过热,这样会造成大量的操作都在相邻的存储区域进行,会对性能造成影响。理论上我觉得是很有道理的,不过实际上我没有什么体会。业务主键做为聚集索引,会对查询性能有很多好处。但我也很喜欢用identity(或无意义的关键字),因为在做程序时,用一个integer做为参数就可以了,不必用几个参数,而且也方便移值给其它表或其它系统使用。用identity也有它的好处。至于复制,如果要考虑分发复制的话,我觉得不必怪罪到identity头上,你大可以用业务主键来做复制,为什么要用identity?