Mam trzy tabele z danymi: `artykuly`, `artykuly_specjalne` (połączone po polu `id`) i `archiwum`. Muszę przenieść z `artykuly` do `archiwum` wszystkie rekordy, których niema w tabeli `artykuly_specjalne` i są starsze niż 2 miesiące.
Napisałem takie zapytanie:
INSERT INTO `archiwum`( SELECT * FROM `artykuly` WHERE artykuly.id NOT IN (SELECT id FROM `artykuly_specjalne`) AND DATEDIFF(NOW(),artykuly.timeStamp) > 60 )
dla 1000 rekordów działa to 4 minuty, trochę za długo biorąc pod uwagę, że rekordów są setki tysięcy. Jak zoptymalizować to zapytanie, żeby działało szybciej?