найти дубликаты между моим списком и тем, что находится в базе данных - PullRequest
1 голос
/ 06 мая 2011

Я хотел бы получить несколько советов о том, как реализовать решение, чтобы у меня был список объектов.(сотни элементов, например, 500-1000 или более).У меня есть таблица в базе данных записей для таких объектов.База данных имеет миллион записей.Мне нужно отправить список объектов в базу данных и доложить со списком дубликатов, если они найдены.Первоначальное решение, загрузить все из базы данных в Java, затем сравнить списки - плохое решение.У нас проблема с нехваткой памяти при попытке загрузить все миллионы записей из базы данных.

1 Ответ

3 голосов
/ 06 мая 2011

Есть ли какой-либо идентификатор в объекте, по которому вы можете искать его в базе данных?Если да, вы можете сделать следующее:

  1. Получить идентификаторы для вашего списка объектов

  2. Поместите их в оператор SELECT, чтобы увидеть, какиеуже есть в базе данных

  3. Поместите объекты, которых еще нет в таблице, в оператор INSERT

Если список вы получите в 1слишком велик для SELECT, вы также можете поместить их во временную таблицу и выполнить оператор JOIN с таблицей объектов.

Cheers

...