Die meisten RDBMS unterstützen 'Bulk Inserts'. In die Richtung würde ich tendieren, wenn es mehr als 1000 Datensätze sind.
Bei
MSSQL genügt der 'BULK INSERT' Befehl, aber dann ohne Progressbar. Über die
API könnte das SqlBulkCopy-Objekt verfügbar sein, das Callbacks unterstützt.
Firebird unterstützt externe Tabellen. Ob das das Schnellste ist, weiß ich nicht, aber das Feature ist nett.
MySQL kennt 'LOAD DATA', Oracle 'BULK COLLECT'.
Wenn es nicht gerade ein Hinterhof-RDBMS ist, sollte das passende zu finden sein.
Ein BULK INSERT in
MSSQL geht sehr schnell: 100.000 Datensätze in 1-2 Sekunden.