У меня есть два файла A
-nodes_to_delete
и B
-nodes_to_keep
. Каждый файл имеет много строк с числовыми идентификаторами.
Я хочу иметь список числовых идентификаторов, которые находятся в nodes_to_delete
но НЕ в nodes_to_keep
, например.
Выполнение его в базе данных PostgreSQL является необоснованно медленным. Какой-либо аккуратный способ сделать это в ударе с помощью инструментов Linux CLI?
ОБНОВЛЕНИЕ: Это, казалось бы, было бы заданием Pythonic, но файлы действительно, действительно большие. Я решил некоторое подобное использование задач uniq
, sort
и некоторые методы теории множеств. Это было приблизительно двумя или тремя порядками величины быстрее, чем эквиваленты базы данных.
Возможно, вам нужен лучший способ сделать это в postgres, я могу поспорить, что вы не найдете более быстрого способа сделать это с помощью плоских файлов. Вы должны иметь возможность выполнить простое внутреннее соединение и предположить, что оба столбца идентификаторов проиндексированы, что должно быть очень быстрым.