У меня около 500 000 записей пользователей в одной таблице, а другая таблица содержит записи пользователей, специально заблокированных другими пользователями (то есть, какой пользователь заблокировал какого пользователя). Я использую следующий запрос для фильтрации записей о пользователях для текущего пользователя, которые не содержат заблокированных пользователей из заблокированной таблицы.
SELECT * from demouser where id not in (select blockedid from demoblock where userid = 1 )
Это медленно, занимает около 2 секунд для выполнения запроса. Есть ли более эффективный способ фильтрации записей без сравнения 500 000 записей пользователей с заблокированной таблицей для удаления заблокированных пользователей из результатов?