Как создать таблицу неповторяющихся элементов из двух других таблиц?

Рейтинг: 2Ответов: 1Опубликовано: 27.03.2015

Добрый день!

Я уже как-то спрашивал, как из двух одинаковых по структуре таблиц БД выбрать неповторяющиеся элементы (результаты прошлого парсинга сайта и нового, хочу получить список того, что добавили новенького на сайт). Так вот, мне посоветовали воспользоваться вот такой конструкцией:

SELECT p.* 
FROM `{таблица новый товаров}` as p
WHERE p.product_id NOT IN (
   SELECT product_id
   FROM `{таблица старых товаров}`
)

product_id - содержит уникальные значения (артикулы товаров донора, они 100% уникальны). Запрос прекрасно работает, сравниваются две таблицы по 35-40 тысяч товаров, возвращается результат ~8000 новых товаров.

Проблема в том, что запрос выполняется долго, и использовать его в парсере (чтобы слить только новинки) нельзя. Я знаю, что как-то можно создавать таблицы и записывать в них результат другой выборки. Но все мои опыты не увенчались успехом.

Может, кто-то сталкивался с подобной проблемой? Как мне подкорректировать текущий запрос, чтобы полученные ~8000 товаров засунуть в 3-ю (отдельную) таблицу и спокойно парсить дальше?

Ответы

Ответов пока нет.