Frank (no reg): Verschiedene Ergebnisse bie SQL Abfragen

Beitrag lesen

Hi Ilja,

wenn du die Möglichkeit hättest, dann solltest du dir vielleicht einfach die Ausführungspläne beider Abfragen anschauen. Ein Join muss nicht immer besser sein :) Ich erinnere mich gerade, dass es solch ein Thema schon mal vor ein oder zwei Monden hier gegeben hat. Nur weil's Join(t)s gibt muss man die noch lange nicht verwenden bzw. rauchen ;)

An den OP:

Für dich gilt das gleiche, schau dir die Ausführungspläne an, in dem du beide Varianten im SQLQA laufen lässt. Das Plan sollte eigentlich identisch sein.

Des weiteren lass nebenbei den Profiler mitlaufen (der gehört zu den SQL Client Tools dazu), RPC:Completed, SP:Completed, SP:StmtCompleted als Events mittracen. Lass dann abwechselnd (1x im Query Analyzer, 1x von ASP aus) beide Abfragevarianten (SELECT / EXEC SP...) durchlaufen und schau dir an, was der Profiler mitgenommen hat.

Wenn das auf der selben Verbindung (selber server und db) jeweils die gleichen Ergebnisse bringt, dann könnte evt. deine Verbindung verbogen sein und du selektierst 15k Ergebnisse von einer völlig anderen Quelle. Deine Situation erscheint mir im allgemeinen etwas ominös.

Und noch einen Tip, musst du denn unbedingt einen DSN Verbindungsnamen verwenden, welcher Provider/Treiber steckt dahinter? Wenn noch ODBC, dann solltest du dies auf OLEDB ändern, der Provider dafür heißt SQLOLEDB.1 ... Google mal danach und nach "UDL" Universal Data Link. Damit kannst du dir im Handumdrehen einen passenden ConnectionString basteln.

Ich hoffe ich konnnte etwas helfen,
Ciao, Frank