title: MySQL: Improve query time with word search
body: <h2>Scenario</h2>
  
  <p>I have a search facility on a website that sells products.<br>
  The page is built with PHP and MySQL searching against a Merged View that joins 10+ tables together. There are approx 12,000 records in the view with 20+ fields each.</p>
  
  <p>A user can search for products matching a specific criteria using multiple (10-15) select menus. <br> 
  The database then returns results based on the select menu values against the products primary keys.</p>
  
  <p>This all works fine and at a fast enough speed as it is.</p>
  
  <h2>Problem</h2>
  
  <p>However, on the same page, I have also included a textbox so users can manually type in what they are searching for rather than using the menus.</p>
  
  <p>As the users are typing actual words rather than selecting PK's via a menu, the database has to do a word search. 
  For lack of knowledge on a better method, I have concantenated all of the text values from the  foreign criteria tables into one big field.<br>
  The textbox then searches against words within this concantenated field.</p>
  
  <p>Again, this works fine, but changes a typical search time from 0.1 seconds to 2.0 seconds.<br>
  I have indexed all of the fields from the tables used by the Merged View in an effort to improve times, this however, didn't help at all.</p>
  
  <h2>Question</h2>
  
  <p>Since Google can find 22,200,000 pages in 1 second for the word "Overflow", and my database takes 2 seconds to search for a word against only 12,000 records.</p>
  
  <p>How can I improve the layout and search method of the database?</p>