Лучший способ сравнить два больших файла по нескольким столбцам
Я работаю над функцией, которая позволит пользователям загружать два CSV-файла, писать правила для сравнения строк и выводить результат в файл.
Оба файла могут иметь любое количество столбцов, и имена столбцов также не фиксированы.
В настоящее время я читаю файлы в два отдельных массива и сравниваю строки на основе условия, заданного в правиле.
Это работает для небольших файлов, но для больших требуется много времени и памяти для сравнения.
Есть ли лучший способ использования БД для хранения и запроса данных без схемы?
Пример данных:
File1
type id date amount
A 1 12/10/2005 500
B 2 12/10/2005 500
File2
type id date amount
A 1 12/10/2005 500
B 2 12/10/2005 500
A 1 12/10/2005 500
Rule1 File1.type == File2.type && File1.amount == File2.amount
Rule2 File1.id == GroupBy(File2.id) && File1.amount == File2.TotalAmount
Условие соответствия будет = Rule1 или Rule2