• Let me little ellaborate my point.

    It is suggested that joins on alphanumeric composite keys is much slower than joins on single numeric field. If I can put a numeric Document Number field on both Master and Detail tables and rather than working on composite key or said natural key on both the tables I can use single candidate key or said surrogate key for joins. For example I have Master table with FormulaId and RevNo, both alphanumeric fields in Master table as Composite Key and I have Detail table with FormulaId, RevNo and RowNum as CompositeKey. Now my question is can I add DocNum field which is integer type in Master Table and replace both formulaId and RevNo in Detail table with DocNum which is again of integer type. Now I can map DocNum in Master and Detail table in joins instead of mapping formulaId and RevNo in both Master and Detail tables. Also I will make DocNum in Master table as single Candidate Key instead of FormulaId and RevNo and DocNum and RowNum in Detail table as Composite Key. There will not be any FormulaId and RevNo fields in Detail table. Referencing will be made on DocNum on both Master and Detail table. Is this will be a good database design because it will make joins faster but again I will have to compromise with finding formulaId in Detail table as it will require another join to Master table of DocNum to find the corresponding formulaId?