Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос к БД с параметрами возвращющий только те которых нету в таблице / 4 сообщений из 4, страница 1 из 1
23.01.2018, 01:20
    #39588781
Pennato
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД с параметрами возвращющий только те которых нету в таблице
Приветствую. Интересует эффективное и красивое решение.
Есть таблица в БД(Mysql 5.6) вида id int, data varchar(64) по data стоит индекс unique таблица может содержать более млн записей
Из внешней программы есть массив с данными, размер массива до 1000 элементов
Необходимо сделать запрос к таблице и вернуть только те значения массива которых в таблице в столбце data нету
...
Рейтинг: 0 / 0
23.01.2018, 04:45
    #39588805
Запрос к БД с параметрами возвращющий только те которых нету в таблице
Pennato,

красота - понятие относительное. но на твою задачу так и просится NOT EXISTS
...
Рейтинг: 0 / 0
23.01.2018, 07:40
    #39588821
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД с параметрами возвращющий только те которых нету в таблице
Еще вариант - загрузить массив во временную таблицу и сделать LEFT JOIN.
А если массив приходит в виде плоского файла, то и загрузить его можно целиком, не перебирая по одной записи, а с помощью mysqlimport/LOAD DATA INFILE.
...
Рейтинг: 0 / 0
23.01.2018, 07:42
    #39588822
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к БД с параметрами возвращющий только те которых нету в таблице
Эффективно - загнать массив в TEMPORARY TABLE ENGINE=Memory, проиндексировать, и сделать из неё выборку.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос к БД с параметрами возвращющий только те которых нету в таблице / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]