title: Should I create a separate table in MySQL when I have fixed number of possible values for a field?
body: <p>I'm doing some database optimization and I was wandering, if I have a table <code>Users</code>, and that table has a <code>_status</code> field, should I be creating a separate table for status codes like so:</p>
  
  <pre><code>Table statuses:
      _status_id: PK int(16) Ai,
      _status_name: varchar(32)
  </code></pre>
  
  <p>and then have a <code>status_code_id</code> field in the <code>Users</code> table that links to the <code>_status_id</code> field of the <code>statuses</code> table, or just write the _status_name directly in the User?</p>
  
  <p>I should note that there are fixed number of statuses, and i do not plan to add any additional data regarding the status like status description or status code or something like that. Its always going to be 4 statuses - active, inactive, away, busy. </p>
  
  <p>I think that if im doing some sort of <code>get by status query</code>, it will take longer if they are separated into 2 tables then it would if it was all in one table. </p>