Добрый день
Есть 2 cvs файла
Один весит 30мб, другой 80мб (далее f_30 и f_80)
В обоих файлах у каждой строки есть ID
Нужно строки файла f_80 дополнить строками файла f_30 там, где ID строк у файлов совпадают
пример строки из файла: f_80
...
813 Петя программист
412 Коля программист
...
пример строки из файла: f_30
...
622 python зеленый
813 php красный
...
после работы скрипта в файле f_80 должно выглядеть примерно так
...
813 Петя программист python зеленый
814 Коля программист
...
как скрипт работает сейчас:
Сначала весь файлик f_30 читается и запоминается в массив (1 элемент = 1 строка)
потом построчно начинает читаться файл f_80 - берет ID и ищет такую же строку в f_30
нашел? - добавь, удали строку из f_30
не нашел? - дальше
Вопросы:
1) можно ли как то улучшить/переделать/придумать_новый алгоритм сравнения ?
2) нормально ли вообще хранить в памяти массивы по 30мб и больше ?
3) есть ли какие то уже готовые решения в эту сторону - необязательно прямо потеме, но хотя бы рядом, чтобы посмотреть/позаимствовать идеи ?
4) что делать если файлы по 400-500 мб ?
5) как вариант рассматривается перенос файлов в базу и уже аналогичная работа с базой - как вам такая идея ?