Я новичок в SQL, и у меня есть некоторые проблемы с этим запросом, который просто невозможно выполнить, потому что он слишком неэффективен. Вот это, он просто загружает в течение нескольких часовКак сделать мой запрос SELECT более эффективным?
SELECT my_db_client_total.email as EMAIL_TOTAL,
my_db_client_total.name, my_db_client_total.country
FROM my_db_client_total, my_db_client_pro
WHERE (my_db_client_total.email<>'')
AND (my_db_client_total.country = '120')
AND (my_db_client_total.email IN (SELECT my_db_client_pro.email
FROM my_db_client_pro));
Мои столы организованы таким образом (!):
Table 1 : Table 2 :
email email
name name
country country
Цель запроса это, чтобы проверить свою базу данных и обрабатывать еще запрос, где я хочу выбрать email
, name
и country
от Table 1
, где table1.email
нет в table2
.
Извините за мой плохой английский, и для моего уровня, как я сказал ранее, я начинающий и самоучка.
Если кто-нибудь может мне помочь или хотя бы просветить меня, я буду так благодарен за ваше время.
EDIT: Я точно не знаю, но я работаю со столом, где есть 20 000+ строк.
до голосования за хорошо представленное усмотрение вопроса –
У вас есть какие-либо показатели по my_db_client_total? Если нет, то вы должны создать его по крайней мере и, возможно, (страна, адрес электронной почты, имя). –
@Strawberry Я не вижу опечатки? – Martin