Это будет медленно, особенно если в таблицу поступает много данных.
Если возможно, можете ли вы сохранить все строки в таблице базы данных с первичным ключом в текстовом столбце?Затем добавьте, если значение столбца не существует, и когда вы закончите, дамп таблицы в текстовый файл?Я думаю, что именно это я и сделаю.
Я хотел бы отметить, что я не думаю, что это идеально, но это должно быть достаточно производительно (с использованием синтаксиса mssql):
create table foo (
rowdata varchar(1000) primary key
);
-- for insertion (where @rowdata is new text line):
insert into foo (rowdata)
select @rowdata
where not exists(select 1 from foo where rowdata = @rowdata)
-- for output
select rowdata from foo;