@Spiriiit

Как лучше проверить наличие записей в БД с большим списком в условии?

Допустим есть 1 млн юзеров (id из вк, допустим) и есть список из 10 000 id (из них только штук 100 есть в БД).
Как само быстро и правильно будет получить имеющихся юзеров в базе?

Слишком хардово сделать так?
mysqli_query($db,"select id from users
where id in(232344,432903,340003,439044,7468976 ... и таких 10000)")

Подскажите, пожалуйста, как лучше.
P.s. Кто-то не так понял, изменил пример, для наглядности.
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 2
@brud
специально для самых нежных и трепетных
Смотря какое условие, если оно строится на результате другого запроса, то возможно имеет смысл посмотреть в сторону join?
Ответ написан
Therapyx
@Therapyx
Data Science
SELECT user_name FROM users WHERE id BETWEEN xx AND yy ?
или что-то вроде этого? Если бы было 2 таблицы для проверки, то можно было бы написать что-то вроде этого
SELECT * FROM users o WHERE EXISTS (
SELECT * FROM users p where p.id = o.id)

не совсем конечно понятно, есть куча айдишек и надо достать только те, что имеются в базе данных?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы