title: mysql database design full-text question
body: <p>I have a legacy mysql database and there's this table which has a few full-text indexed columns. In each of these columns the data stored is separated by space. It's like </p>
  
  <pre><code>token1 token2 token3
  </code></pre>
  
  <p>with the full-text index functioning, the code does a match as:</p>
  
  <pre><code>SELECT ... FROM mytable WHERE MATCH(column1) AGAINST('token1' IN BOOLEAN MODE) AND MATCH(column2) AGAINST('token2' IN BOOLEAN MODE) AND MATCH(column3) AGAINST('token3' IN BOOLEAN MODE) 
  </code></pre>
  
  <p>Now I want to refacter this particular design into a more normalized fashion. Another reason is that I want to use innoDB tables instead myism ones. The process seems to convert each column into one attribute table and then use another connect table to mark the one to many relationship between the attribute table and the original table. This would probably complicates the SQL a lot. I'm wondering if there's a better solution. </p>