The question isn't really a performance issue, but rather one of customization. If users are likely to need to add values to an enumeration, (example: category for a blog post), then a lookup table is a good idea. If the values are substantially unlikely to change (see your examples - marriage status and state) then there's not a lot to be gained by complicating the DB.
--Matt Jones On May 7, 3:43 am, Vipin <sh.vi...@gmail.com> wrote: > in a database table if there is a field which has a certain set of > fixed values. for example > staus => {Single, Married, Divorced } > OR > state => {California, Albama, Olaska ...} > > so what should be preferred way out of the following for storing the > values > > 1. Keep the field as "string(Rails)" VARCHAR(MySQL) itself ....and > while showing the field just show the field value. > > 2. Keep the field internally as a code like {:california => > 01, :albama => 02, washington => 03 ....} but while showing the state > show only the corresponding state. > > By using option 2, a certain disadvantage is extra computation time > required to find out corresponding state name based on code when > showing the state field to user. But an advantage could be in terms of > smaller database. In my opinion, saving 01 as an integer could save > significant space than storing "california" if number of records > happen to be in tens of thousands . > > please suggest ?? > > vipin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---