ich habe eine Datenbank bei einem Kunden mit Firebird und einem Haufen Daten (
DB ist so 3.5 GB gross). Der Kunde sagt, manchmal dauert das Ausführen von einer "Stored proc" um eine Rechnung zu bearbeiten so 20-25 Minuten. Wenn ich diese
DB auf meinen Server (ähnliche Geschwidigkeit) kopiere und dort diese Proc ausführe, dann läuft das in unter 2 sekunden.
Selbst 2 Sekunden erscheinen mir sehr lang um eine Rechnung per "Stored proc" zu erstellen. Wir haben ähnlich große Datenbanken mit bis zu 40 Anwendern teilweise auch auf VMs und beim Rechnungslauf werden per "Stored proc" hunderte oder tausende Rechnungen in wenigen Sekunden erstellt. Hier müsste man mal genauer schaun, welche Pläne bei den einzelnen Selects und Updates verwendet werden und ob es da Schwachstellen gibt. Die Anzahl der Updates, Inserts und Deletes ist auch interessant.
Die andere mögliche Problemstelle sind lange offene Transaktionen und wie viel Speicher durch die anderen Anwender serverseitig dadurch belegt ist. Eine ungünstige Auswertung, die mehrere Tabellen miteinander verknüpft, kann temporär den gesamten Arbeitsspeicher blockieren und damit alle anderen Anwender ausbremsen.
Dann wäre auch noch zu prüfen, ob eventuell andere
DB-Server auf der selben Maschine laufen. Der MS-
SQL-Server nimmt z.B. schnell mal den ganzen Speicher in Beschlag.