performancestest SQL server

Was wäre die empfohlene Methode, die performance bei gespeicherten Prozeduren zu testing? Es gibt eine SP, die etwa 20 Booleans und ich möchte einige der Kombinationen testing. Es gibt ein anderes SP mit den gleichen Parametern, aber eine andere Implementierung und möchte einen path zu vergleichen. Ich kann dies manuell in .NET machen, wenn nötig, aber ich frage mich, ob es einen besseren path gab. Vielen Dank!

Nun, es gibt nur 2 ^ 20 Kombinationen …

Sie können eine Tabelle der Einstellungen, die Sie testing möchten (bool1, bool2, bool3, …), dann fügen Sie Spalten für alt1 Ergebnisse und alt2 Ergebnisse (Start-und End-timeen, tatsächliche numerische Ergebnisse im Falle eines Bugs, etc ).

Dann öffne einen Cursor auf der Einstelltabelle (oder schleife auf SELECT TOP 1 WHERE Ergebnis IS NULL) und EXEC jedes proc mit den Einstellungen, Aufzeichnung der Start- und Endzeiten und Ergebnisse und alles andere.

Also an diesem Punkt würde ich alles in der database behalten, keine Notwendigkeit für .NET noch. Wenn die Sätze von data groß sind und Sie die End-to-End-Performance überprüfen müssen, könnte ich aus der DB herausziehen, aber jetzt, weniger bewegte Teile, desto besser.

Sie können die performance in server Management Studio messen, indem Sie die beiden gespeicherten Prozeduren mit einem tatsächlichen Ausführungsplan ausführen. Es gibt Ihnen eine Pause von performance / Kosten pro jeder statement in der sp.

Sie können auch Sie SQL server Profiler, um performancesmesswerte zu sammeln.

Ich persönlich neige dazu, eine Kombination der beiden oben zu verwenden.

Wenn Sie eine überwältigende Menge an Parametern haben, beachten Sie immer die Pairwise Testing. Ich bevorzuge das PICT-Tool.