Hallo,
wie kann es wohl sein, dass eine stored procedure auf einem MS-SQL-Server 2000 langsamer ausgeführt wird als dieselbe (zugegebenermassen ziemlich aufwendige) Abfrage?
Ich habe mit Delphi + ADO eine ziemlich komplizierte Procedure geschrieben, um temporäre Tabellen zu füllen (einige joins und subselects). Dabei liegen die temp. Tabellen in einer anderen Datenbank auf demselben Server. Das lief auch zufriedenstellend.
Nun hat die Datenmenge zugenommen (wg. Jahresende) und die Procedure macht kein Insert mehr, sondern meldet sich irgendwann mit timeout.
Im Query Analyzer habe ich die Stored Procedure nach 4 Minuten abgebrochen.
Nach Kopie der Abfrage in den Analyzer ohne Stored Procedure wird diese einwandfrei ausgeführt.
In Delphi mit der AdoCommand-Komponente ist das auch nachzuvollziehen.
Woran kann es liegen, dass die Stored Procedure sich weghängt?!
Der Profiler wirft keine Fehler aus.
Grüße
Julia
wie kann es wohl sein, dass eine stored procedure auf einem MS-SQL-Server 2000 langsamer ausgeführt wird als dieselbe (zugegebenermassen ziemlich aufwendige) Abfrage?
Ich habe mit Delphi + ADO eine ziemlich komplizierte Procedure geschrieben, um temporäre Tabellen zu füllen (einige joins und subselects). Dabei liegen die temp. Tabellen in einer anderen Datenbank auf demselben Server. Das lief auch zufriedenstellend.
Nun hat die Datenmenge zugenommen (wg. Jahresende) und die Procedure macht kein Insert mehr, sondern meldet sich irgendwann mit timeout.
Im Query Analyzer habe ich die Stored Procedure nach 4 Minuten abgebrochen.
Nach Kopie der Abfrage in den Analyzer ohne Stored Procedure wird diese einwandfrei ausgeführt.
In Delphi mit der AdoCommand-Komponente ist das auch nachzuvollziehen.
Woran kann es liegen, dass die Stored Procedure sich weghängt?!
Der Profiler wirft keine Fehler aus.
Grüße
Julia
Comment