Mam tabelę z listą produktów (id_product), które mają zostać

lista_produktow (nazwa tabeli)
------------------------
id_product
------------------------
13834
29278
38721
38272

(około 50 tys)

Mam 3 tabele w których muszę usunąć wszystkie rekordy inne niż te z powyżej listy.

Wykonuję akcję taką, że pobieram dane z jednej z tabel do usunięcia i sprawdzam czy jest w liście produktów jeśli tak to zostawiam jeśli ID się nie zgadza usuwam pytanie czy jest jakieś szybsze rozwiązanie ponieważ bazy mają około miliona rekordów w związku z tym te sprawdzanie jest bardzo długie.

Lista produktów do sprawdzenia:


lista_produktow (nazwa tabeli)
------------------------
id_product
------------------------
13834
38721
38721
38272


tab_1 (nazwa tabeli)
------------------------
id_product
------------------------
039272
38721
383622
41328


Poniżej tabele z których mam usunąć rekord, którego nie ma w liście

tab_2 (nazwa tabeli)
------------------------
id_product
------------------------

039272
38721
383622
41328


tab_3 (nazwa tabeli)
------------------------
id_product
------------------------

039272
38721
383622
41328

Teraz usunąć trzeba 38721 ze wszystkich tabel wcześniej odczytanego z pierwszej listy. Ewentualnie jak napisać dobre zapytanie do tego, które obsłuży to szybko