Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Надо выбрать из первой таблицы записи, которых нет в двух других таблицах.
В первой табл. записи уникальные,
во второй и третьей могут повторяться.
Помогите решить, плиз.
В один запрос можно запихать?
MySQL 3. Переезд на 5 в процессе, возникли сложности.
Отредактированно maskaral (10.06.2009 17:07:36)
Неактивен
SELECT *
FROM t1
LEFT JOIN t2 USING (id)
LEFT JOIN t3 USING (id)
WHERE t2.id IS NULL OR t3.id IS NULL;
Неактивен
Спасибо,
но... тормозит сильно... отрубаю, слишком долго...
Учитывая то, что во 2 таблице 11 млн. записей
в 3 таблице 13 млн. записей
Можно еще как-то ускорить?
Или может быть быстрее будет разбить его на части?
И еще это только часть запроса. Всего подключается 6 таблиц с кучей фильтров
Отредактированно maskaral (10.06.2009 17:41:28)
Неактивен
Если сделать индексы, то будет работать быстрее
Неактивен
Индексы есть.
То ли их много,
То ли из-за того, что выборка идёт по полю VARCHAR
Неактивен
Быстрее, чем по индексу, не выберете. Правильность можно оценить только если покажете еще метаданные табличек.
Неактивен