title: How to optimize MySQL query to find substring among three fields?
body: <p>I have the following MySQL table fields:</p>
  
  <p><code>description1</code>, <code>description2</code>, <code>description3</code>: Varchar(500)</p>
  
  <p><code>value</code>: int </p>
  
  <p>and wish to find the records where at least one of the description includes the <code>string</code> searched by the user.
  Right now I am using the following query. It works, but it takes about 1.5 second to return the results.</p>
  
  <pre><code>SELECT `table`.`value`, 
        `table`.`description1`, 
        `table`.`description2`, 
        `table`.`description3`
        FROM `table`
  WHERE ( `table`.`description1` LIKE '%string%'
  OR `table`.`description2` LIKE '%string%'
  OR `table`.`description3` LIKE '%string%' )
  ORDER BY  `table`.`value` DESC LIMIT 0 , 9
  </code></pre>
  
  <p>Is there any way to get the results faster?</p>
  
  <p>(Note that the <code>value</code> field is already indexed).</p>