Подскажите с оптимизацией запроса, выполняющего вычитание одной таблицы из другой...

frost21

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

есть таблицы db_tovar и db_menu_tovar, есть и там и там поля `barcod`, нужно из таблицы db_tovar выбрать все `barcod` которых нет в таблице db_menu_tovar
в обоих таблицах более 10000 записей

делаю вот такой запрос

SELECT `tovar`.barcod FROM `tovar` LEFT JOIN `menu_tovar` ON `tovar`.barcod = `menu_tovar`.barcod WHERE `menu_tovar`.barcod is NULL

получаеться как в анекдоте "база данных сказала - ну у вас и запросы, и повисла", только в моем случае она без всяких обьяснений виснет и все... %)
 

phprus

Moderator
Команда форума
frost21
А что говорит EXPLAIN этого запроса?

У тебя есть индексы по полям `tovar`.barcod и `menu_tovar`.barcod ?
 

frost21

Новичок
спасибо за помошь, все работает... :) проблема оказалась совсем в другом... %)
ПС. Wicked спасибо за ссылку...много интересного ;)
 

frost21

Новичок
спасибо за помошь, все работает... :) проблема оказалась совсем в другом... %)
ПС. Wicked спасибо за ссылку...много интересного ;)
 
Сверху