mysql NOT IN QUERY optimize

У меня есть две таблицы с именами:

  1. table_product
  2. table_user_ownned_auction

table_product

specific_product_id      astatus  ... 
(primary_key,autoinc)
--------------------------------------
1                        APAST    ...
2                        ALIVE    ...
3                        ALIVE    ...
4                        APAST    ... 
5                        APAST    ...

table_user_ownned_auction

own_id     specific_product_id   details   
----------------------------------------
1                  1               XXXX
2                  5               XXXX

Мне нужно выбрать atatus = APAST , а не в Таблица 2.
Это означает, что в приведенной выше структуре table1 имеет 3 статуса APAST (1,4,5). Но в таблице 2 хранится только specific_product_id (1,5), поэтому мне нужно выбрать specific_product_id = 4

Я использовал этот запрос

  SELECT * 
    FROM table_product 
   WHERE astatus = 'APAST' 
     AND specific_product_id NOT IN (SELECT specific_product_id 
                                       FROM table_user_ownned_auction )

... который занимает столько времени:

Запрос занял 115,1039 сек

.. .выполнить.

ОБЪЯСНИТЬ ПЛАН

enter image description here

Как я могу его оптимизировать или каким-либо другим способом выбрать то, что я хочу?

6
задан OMG Ponies 25 May 2011 в 05:57
поделиться