title: SQL left join query runs VERY slow
body: <p>Basically I'm trying to pull a random poll question that a user has not yet responded to from a database. This query takes about 10-20 seconds to execute, which is obviously no good! The responses table is about 30K rows and the database also has about 300 questions. </p>
  
  <pre><code>SELECT  questions.id
  FROM  questions
  LEFT JOIN  responses ON ( questions.id = responses.questionID
  AND responses.username =  'someuser' ) 
  WHERE
  responses.username IS NULL 
  ORDER BY RAND() ASC 
  LIMIT 1
  </code></pre>
  
  <p>PK for questions and reponses tables is 'id' if that matters.</p>
  
  <p>Any advice would be greatly appreciated. </p>