Am I the only one who gets very worried when developers complain about making a table join? I would use the lookup table just so I could have a single place to update a description if it ever changes and to avoid "Cretid Card", or "Femail" getting into my system. From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Balakrishnan, Muru Sent: Friday, October 16, 2009 12:58 PM To: oracle-l@xxxxxxxxxxxxx Subject: Design Question Hello Experts, I request your opinion on, whether column values in large tables with more than million rows should be codified for better performance. For example a customer table could have following columns, gender and card type. In our team many prefer to spell out the entire word for every row (as Male, Female, Credit Card, Debit Card etc), but my recommendation is to codify (M, F, C, D, etc) with a lookup tables when needed. Their argument is, hardware is cheap including storage, helps readability and less joins. My argument is, production hardware is not cheap (we can buy 1TB for home under $100, but production hardware costs thousands), less overall blocks used improves performance, negligible problem with joining lookup tables. Please give your opinion. Gender --------- M vs Male F vs Female Card type ------------- C vs Credit Card D vs Debit Card, P vs Prepaid Card Thanks in advance, Muru