• Alexander Suprun (12/22/2014)

    Are you saying that having a big composite primary key on multiple varchar columns which also has to be used in other tables for referential integrity has absolutely no effect on performance?

    I'm saying the choice of keys should suit the circumstances and intended usage and that dogmatic one-size-fits-all rules ought to have no place in good database design. The question was asked in very general terms whereas you are describing something much more specific. Even the specific situation you describe raises plenty of possibilities about whether a surrogate key would actually be beneficial or not depending on the circumstances.