Здравствуйте.
Есть следующая задача:
Набор данных из базы присылается в текстовом файле. Каждая запись представляется строкой, в которой атрибуты разделены точкой с запятой.
Нужно распарсить этот файл, генерируя инсерты в базу, ну и соответственно исполнить полученный скрипт на удаленной базе.
Самое главное — есть опасность дублирующихся записей, которые нужно отсеять.
Хотелось бы узнать все возможные, и желательно наиболее оптимальные по времени выполнения, варианты решения данной задачи.
Если без проверки на дублирование, то:
String.split для выделения атрибутов строки,
String.format для генерации инсерта,
StringBuilder для хранения всего скрипта
выглядят очень неплохо — на 300 тыс. записей всего 2 минуты.
Но вот что делать с дублированием, я не знаю (очень долго будет парситься).
Может есть более элегантные решения на других языках (просто сам пишу на Java).