title: Faster way to query Access table
body: <p>I have two access tables, A and B:</p>
  
  <pre><code>Table A
  Identifier BenefitBase    PlanNav   
  1        131368.46      131368.46       
  2        201768.8       201768.79
  3        54057.46       54057.46    
  4        7397.51        7397.51 
  5        9931.4         9931.4  
  6        178200         178200  
  Table B
  p      ValidityDate LockInAmount
  1      2016-4       3.82
  2      2016-4       19.97
  3      2016-4       26.85
  4      2016-6       34.95
  </code></pre>
  
  <p>I just want to create a query which extracts records from B where the "p" ID is not found in table A.
  My current code is:</p>
  
  <pre><code>SELECT B.p, B.ValidityDate, B.LockInAmount
  FROM B
  WHERE (((B.p) Not In (select Identifier from A)));
  </code></pre>
  
  <p>Now to me, this code should work fine. However, because the tables are so large (B consists  of 486,000 rows (the "p"'s repeats in this table for different dates) whereas A consists of circa 19,000), whenever I run the query, access fills the query progress bar but freezes when near full. </p>
  
  <p>Is there another way to do this? </p>
  
  <p>Thanks    </p>