title: How to delete disjunction rows of two larget tables?
body: <p>table products1:  30 mio rows
  table products2: 100 mio rows</p>
  
  <p>Both tables are different, but share a common unique index:</p>
  
  <pre><code>create table products1(
      ...
      UNIQUE KEY uniq_products (name, manufacture, releasedate,... &lt;a total of 10 fields&gt; )
  )
  </code></pre>
  
  <p>I want to remove all rows from table1, whose unique index does not occur in table2.</p>
  
  <p>I started as follows:</p>
  
  <pre><code>DELETE FROM products1 p1 WHERE NOT EXISTS (
      SELECT 1 FROM products2 p2 WHERE p1.name = p2.name, p1.manufacture = p2.manufacture, ...
  )
  </code></pre>
  
  <p>Question: is this the correct approach in general? How can I speed up queries like this due to the large dataset?</p>