Hallo,
könnte hier nur eine Erfahrung mit MS-
SQL-Server 2000 beisteuern.
Musste mal eine große Menge von Dateien parsen und die daraus resultierenden Ergebnisse per Insert in drei Tabellen verteilen. Das war grottenlangsam.
Bin dann hergegangen und habe die im Programm erstellen Insert-Statements in einem Memo gesammelt und immer dann, wenn das Memo 20 Zeilen enthielt, den Inhalt des Memos per TQuery.ExecSQL an die Datenbank geschickt. Dadurch wurde der "Spaß" deutlich schneller. Anschließend bin ich hergegangen und habe die Menge der Zeilen im Memo konfigurierbar gemacht, so dass ich über einen Button steuernkonnte, nach wievielen Zeilen im Memo ein Insert angestoßen werden sollte. Bei der Datenbank und dem Server waren es etwa 60 Inserts, die zur besten Geschwindigkeit führten.
Jeder Aufruf von TQuery.ExecSQL wurde in einer eigenen Transaktionsklammer ausgeführt. Da auch hier ab und an Probleme auftraten mit Timeout... habe ich um die Transaktionsklammer noch eine Schleife gelegt, die 10 Versuche startete, bevor sie mit 'ner
Exception den Job beendete.
Das ist jetzt nicht gerade eine besonders "professionelle" Lösung, aber eventuell könnte Dir so ein "Hilfsmittel" ja auch behilflich sein.