|
Тема |
MySQL вложени заявки |
|
Автор | zzzzzz (Нерегистриран) | |
Публикувано | 13.06.07 20:55 |
|
|
Въпроса ми е чисто теоритичен и може би не е само за mysql, но в момента ползвам MySQL
става въпрос за следната структура:
таблица users:
user_id
name
.....
таблица addresses
address_id
user_id
zip
.....
искам да изкарам списък на всички потребители който не живеят в даден град.
използвам пощенския код за да разпозная града.
Проблема идва от там че някой хора могат да имат по два адреса (например аз съм от Перник и уча в Пловдив)
за целта използвам следната заявка
select id,name FROM customers where id <> any (select customer_id FROM addresses WHERE zip like '40%');
в превод
вложената заявка ми връща клиентите които имат такъв адрес а първата казва покажи ми останалите (тези който не живеят в избрания град и това работи)
обаче при таблица с няколко хиляди записа заявката се бави 45-50 сек.
версия 5.0
Значи как работят вложените заявки ?
и някакви предложения за оптимизация
(нямам администраторски права и не мога да сменя версията)
Предварително благодаря
|
| |
|
|
|