Hallo!
Über eine
API erhalte ich sehr viele Daten, die ich in eine Tabelle auf dem
SQL Server hinzufügen muss. Die Intensität des Datenstroms ist immer unterschiedlich, es können bis zu 250 Datensätze pro Sekunde sein oder nur 100 pro Stunde. Ich benutze PreparedStatements in Verbindung mit UniDAC, um die Tabelle mit Daten zu befüllen. In einem Datencontainer sammeln sich die Daten, die für den Insert bestimmt sind. Dann prüfe ich mit einem bestimmten Interval, ob irgendwelche Daten da sind, führe ein Prepare-Funktion aus und füge die Datensätze einzeln nacheinander hinzu. Eigentlich funktioniert alles ganz gut und ohne Probleme.
Nun bin ich dabei, die Insertion-Funktion noch ein bisschen zu optimieren. Da habe ich mir überlegt, ob ich die Prepare-Funktion nicht jedesmal vor der Insert-Schreife ausführe, sondern z.B. ein Mal pro Stunde oder sogar nur ein Mal beim Start des Programms. Denn aktuell ist es so, dass durch meine oben beschriebene Vorgehensweise die Prepare-Funktion oft bis zu 50 Mal pro Minute ausgeführt wird, wodurch das Ganze, wenn auch nicht direkt bemerkbar, etwas langsamer wird.
Wie lange ist ein PreparedStatement gültig? Wird es reichen, wenn ich es nur ein Mal beim Start des Programmst ausführe?
DB-Dienst und das Programm laufen auf dem selben PC.