В основном я смотрю на улучшение производительности запроса, а также на возможность решения в одном запросе для одного из моих вариантов использования, описанных ниже:
Включено 2 таблицы:
Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6)
Table 2: EMAILLIST (email)
Мое требование: я хочу получить / извлечь все записи из таблицы EMPLOYEE с условием, что в email1 или email2 нет соответствующей записи в таблице EMAILLIST. Проще говоря, если в таблице EMAILLIST совпадает email1 или email2, эти записи следует игнорировать.
В этом случае EMPLOYEE.EMAIL1, EMPLOYEE.EMAIL2 и EMAILLIST.EMAIL будут всегда иметь один сохраненный адрес электронной почты.
Мы используем PostgreSQL v8.2.3, если это имеет значение.
Любые указатели / идеи / логика приветствуются.
ОБНОВЛЕНИЕ: В настоящее время мы реализовали это следующим образом: извлекли все записи из таблицы EMPLOYEE и сохранили их в объекте Java и для каждой записи (для цикла), это, в свою очередь, проверяет таблицу EMAILLIST, что дорого с точки зрения производительности.