Moritz H. Geschrieben 12. Januar 2011 Teilen Geschrieben 12. Januar 2011 Hi, ich hab folgendes Problem: Auf unserem SQL Server 2008 werden über ein Programm etliche (5000+) Insert into Statements ausgeführt. Dafür braucht der Server über 3 Minuten. Dieselbe Prozedur führt auf einem Referenzsystem (gleiche SQL Server Version) zu einem deutlich anderen Ergebnis. Hier benötigt das System nur 7 Sekunden. Dabei ist der Server mit den schlechten Ergebnissen von der HW Leistung her deutlich besser (8kern, 12 Gig Ram, etc.). Die Grundeinstellungen der Server sind, soweit ich das übersehen kann, identisch. Hat jemand eine Idee? Gruß Moritz H. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 13. Januar 2011 Teilen Geschrieben 13. Januar 2011 Vielleicht verwendest du keinen gelben Strom Viel mehr lässt sich mit den gegebenen Informationen nicht sagen. Mit grosser Wahrscheinlichkeit hast du aber Lockingprobleme und verwendest für deine 5000 Inserts implizite Transaktionen. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 13. Januar 2011 Teilen Geschrieben 13. Januar 2011 bei impliziten transaktionen sollten aber beide systeme etwa gleich langsam sein. locks wären eine möglichkeit, lahme platten oder stark fragmentierte tabellen sind weitere. eventuell hängt er auch an den indizes. dann wäe noch die frage wie die daten zu den jeweiligen servern kommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Moritz H. Geschrieben 13. Januar 2011 Autor Teilen Geschrieben 13. Januar 2011 Hi, das Einlesen der Daten erfolgt aus einer XML Datei. Aus dieser Datei werden X einzelne Insert Into Statements generiert (via Programm) und and den Server gegeben. Bei den Statements wird kein Rollback oder ähnliches genutzt. Es gibt auch keine Trigger, die fälschlicherweise ausgelöst werden könnten. Könnte eine Volltestindizierung mir da rein hauen? Muss prüfen ob die Überhaupt aktiviert ist. Vielen Dank für Eure Ideen! Gruß Moritz H. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. Januar 2011 Teilen Geschrieben 13. Januar 2011 (bearbeitet) Ich tippe auch auf Locking bzw Transaktion. Ich würde einen Ansatz im Code suchen. Evtl mal nach jedem Insert "hart testweise" ein Commit setzen, um zu schauen, ob es daran liegt. Bearbeitet 13. Januar 2011 von flashpixx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 13. Januar 2011 Teilen Geschrieben 13. Januar 2011 MSSQL besitzt doch serverseitiges Autocommit. Ist es auf dem einen Server eingeschaltet und auf dem anderen nicht? Laufen beide Vorgänge in einer einzigen Transaktion und wird auf der "langsamen" Maschine nach jedem Insert comittet? Was soll eine Volltextindizierung nutzen? Und vor allem was willst Du indizieren? Liegt die XML Datei in der Datenbank? Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Moritz H. Geschrieben 13. Januar 2011 Autor Teilen Geschrieben 13. Januar 2011 Hi, aktuell zeigt der Server noch ganz andere Ausfallerscheinungen. Möglicherweise liegt es nicht am SQL Server sondern am Server selbst (OS). Vielen Dank für Eure Tipps! Gruß Moritz H. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.