Как создать таблицу неповторяющихся элементов из двух других таблиц?
Добрый день!
Я уже как-то спрашивал, как из двух одинаковых по структуре таблиц БД выбрать неповторяющиеся элементы (результаты прошлого парсинга сайта и нового, хочу получить список того, что добавили новенького на сайт). Так вот, мне посоветовали воспользоваться вот такой конструкцией:
SELECT p.*
FROM `{таблица новый товаров}` as p
WHERE p.product_id NOT IN (
SELECT product_id
FROM `{таблица старых товаров}`
)
product_id
- содержит уникальные значения (артикулы товаров донора, они 100% уникальны). Запрос прекрасно работает, сравниваются две таблицы по 35-40 тысяч товаров, возвращается результат ~8000 новых товаров.
Проблема в том, что запрос выполняется долго, и использовать его в парсере (чтобы слить только новинки) нельзя. Я знаю, что как-то можно создавать таблицы и записывать в них результат другой выборки. Но все мои опыты не увенчались успехом.
Может, кто-то сталкивался с подобной проблемой? Как мне подкорректировать текущий запрос, чтобы полученные ~8000 товаров засунуть в 3-ю (отдельную) таблицу и спокойно парсить дальше?