Select url, keyword from mytable where keyword in ('key1', 'key2'...)
Таким образом, вы получаете как URL, так и соответствующее ему ключевое слово. Но не зная больше вашей таблицы, записей, дубликатов и т. Д. c. вы можете получить больше записей, чем вам нужно.
Что касается попытки go найти 20 тыс. ключевых слов, вы можете создать вторичную временную таблицу и применить к ней JOIN. Затем вы можете выполнить вставку ключевых слов ex: 100 за один раз, что будет быстрее (или выполнить какую-либо опцию массовой загрузки), и затем выполнить запрос с JOIN для этой временной таблицы.
Наконец, если возможно несколько строк, вы можете захотеть
Select
url,
keyword,
count(*) timesFound
from
mytable
where
keyword in ('key1', 'key2'...)
group by
url,
keyword