title: MySQL Join on 2 tables based on text field
body: <p>I have two MySQL tables: <code>&quot;list&quot;</code> and <code>&quot;more&quot;</code></p>
  <blockquote>
  <p>The &quot;list&quot; table has upwards of 100,000 results.</p>
  <p>The &quot;more&quot; table has upwards of 50,000 results.</p>
  </blockquote>
  <p>The data from these tables cannot be combined.</p>
  <p>The issue is, I have a column called &quot;short_title&quot; in both tables. They are both VARCHAR(255) and will contain a string like &quot;short-title-here&quot;.</p>
  <p>I'm using a simple query like:</p>
  <pre><code>SELECT L.title, M.more_info
  FROM `list` L, `more` M
  WHERE M.short_title = L.short_title
  </code></pre>
  <p>Since there are so many results in each table, and I need to be matching the results based on the &quot;short_title&quot; column which is a text field, it makes the queries EXTREMELY slow.</p>
  <p>There is an INDEX on the <code>&quot;short_title&quot;</code> column in the <code>&quot;list&quot;</code> table, and the <code>&quot;short_title&quot;</code> column in my <code>&quot;more&quot;</code> table is UNIQUE</p>
  <p>Is there anything I can do to the column (example: making them fulltext) that will make these queries faster?</p>
  <p>Thank you in advance</p>
  <p>**** UPDATE ****</p>
  <p>I've changed my query to INNER JOIN the two tables.</p>
  <p>The results of the explain query can be found here:</p>
  <p><img src="https://i.stack.imgur.com/KcGuh.png" alt="Results of the Explain Query" /></p>