AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL 2000 vs. SQL 2005 - Änderungen in Ausführungsplänen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL 2000 vs. SQL 2005 - Änderungen in Ausführungsplänen

Ein Thema von DerAndereMicha · begonnen am 26. Nov 2008 · letzter Beitrag vom 26. Nov 2008
 
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

SQL 2000 vs. SQL 2005 - Änderungen in Ausführungsplänen

  Alt 26. Nov 2008, 08:51
Datenbank: MS SQL Server • Version: 2000/2005 • Zugriff über: ADO
Hallo,

ich habe ein Programm, welches schon seit einigen Jahren stabil läuft - bisher immer mit einem SQL-Server 2000. Nun wurde auf SQL 2005 umgestellt und auf einmal verhält sich eine SQL-Abfrage in diesem Programm völlig anders als früher. Sie ist jetzt mindestens 10x so langsam !!! Ich habe mir mal den Ausführungsplan dieses Abfrage angeschaut und feststellen müssen, daß der Server sie anscheinend völlig anders optimiert. Noch mehr staunte ich aber, als ich die Abfrage ein wenig umformulierte, in dem ich eine Unterabfrage in der WHERE-Klausel durch eine Variable ersetzte und auf einmal alles wieder wie vorher lief. Kann mir einer von Euch das unterschiedliche Verhalten des SQL-Servers bei folgenden Abfragen (eigentlich 2x die selbe - oder?) erklären.

Bitte aber keine Diskussion über den Sinn bzw. Unsinn dieser Abfrage ...

1. Langsame Abfrage:

SQL-Code:
SELECT A.*,B.*
  FROM INHALTE A FULL OUTER JOIN ZUSATZ B ON A.ADRESSEN_ID=B.ADRESSEN_ID
  WHERE B.ADRESSEN_ID = 4403 OR
        A.ZUSATZID = (SELECT MAX(ZUSATZID) FROM INHALTE WHERE ADRESSEN_ID=4403)
2. Schnelle Abfrage:
SQL-Code:
DECLARE @ZID int
SET @ZID = (SELECT MAX(ZUSATZID) FROM INHALTE WHERE ADRESSEN_ID=4403)

SELECT A.*,B.*
  FROM INHALTE A FULL OUTER JOIN ZUSATZ B ON A.ADRESSEN_ID=B.ADRESSEN_ID
  WHERE B.ADRESSEN_ID = 4403 OR
        A.ZUSATZID = @ZID
Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz