SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.07.2018 09:33:19

activist
Участник
Зарегистрирован: 13.06.2018
Сообщений: 7

NOT IN и много значений или временная таблица и LEFT JOIN ?

Приветствую.

Есть приложение которое должно выбирать из таблицы id неких объектов. Есть набор id которых не должно быть в этой выборке (читай блэк-лист) . Дело в том что эти id блэк-листа (которых не должно быть в выборке) не хранятся в БД, а каждый раз на лету получаются приложением из другого сервиса. Теоретически их может быть вплоть до 10k ... на практике же их несколько сотен, но в отдельных случаях их реально может быть несколько тысяч.

Есть ли смысл смотреть в сторону NOT IN(id1,id2,id3,...,idN) при таком количестве id блэк-листа ??? Или лучше каждый раз после получения id блэк-листа сначала делать запись допустим во временную таблицу + LEFT JOIN для отсеивания?

Спасибо!

Неактивен

 

#2 23.07.2018 11:17:07

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: NOT IN и много значений или временная таблица и LEFT JOIN ?

Во временную таблицу через Load

Неактивен

 

#3 23.07.2018 22:41:20

activist
Участник
Зарегистрирован: 13.06.2018
Сообщений: 7

Re: NOT IN и много значений или временная таблица и LEFT JOIN ?

Спасибо. Сделал через временную таблицу. Правда гружу данные обычным способом, а не через Load data ...

Отредактированно activist (23.07.2018 22:41:43)

Неактивен

 

#4 24.07.2018 05:12:05

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: NOT IN и много значений или временная таблица и LEFT JOIN ?

Если данные уже хранятся в файле, то рациональней использовать Load, если нет, то, так как данных не много, можно и Insert.
ЗЫ
Рекомендую рассмотреть конекторы в MariaDb.
https://mariadb.com/kb/en/library/connect/

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson