Consider the case of a composite primary key. In this case, the database engine should create a new clustered index from the synthetic key, which will require moving rows around. (Keep in mind that the strings are physically arranged on the disk by the primary key.) Given the rarity of this situation, you really should not handle the special case when your primary key is already an integer.
source
share