mygil 10 Geschrieben 22. April 2015 Melden Geschrieben 22. April 2015 (bearbeitet) Hallo! Wir haben vor kurzem eine SQL Server Umstellung von 2008 Express (ohne R2) auf SQL Server 2012 Standard durchgeführt. SQL Server 2008 (ohne R2) hat u.a. ja folgende Einschränkungen: Max 1GB Arbeitsspeicher, 1 Kern etc.SQL Server 2012 Standard hat hingegen deutlich mehr wie beispielsweise: 4 Kerne und mehr Arbeitsspeicher. Das folgende sehr einfache SQL Statement dauerte bei unserem alten eingeschränkten SQL exakt 0 Sekunden: select * from Auftrag A left join Kurstour KT on KT.TourKey = A.TourKey left join Kurs KK on KK.KursKey = KT.Kurskey where A.AuftragID = 123 Bei unserem neuen SQL Server dauert die exakt selbe Abfrage mit dem gleichen Datenstand aber 2 Sekunden? Kann das jemand erklären? Im Anhang hätte ich die beiden "Ausführungspläne" dazu hochgeladen! Vielen Dank für eure Unterstützung im Voraus!! lg myGil (OS In diesen DB wurden weder in der neuen noch in der alten Version "Indizes" erstellt - ich würde gerne vorher noch ohne auskommen bevor ich hier unterschiedliche Ausgangssitituationen erstelle.) bearbeitet 22. April 2015 von mygil
wiri 10 Geschrieben 22. April 2015 Melden Geschrieben 22. April 2015 Hi ich tippe erstmal auf die unterschiedlichen Optimizerstrategien und die gespeicherten Statistiken. probiere mal die Query mit Option (force order) aus.
mygil 10 Geschrieben 22. April 2015 Autor Melden Geschrieben 22. April 2015 Hallo! Mit Option (force order) erhalte ich die komplett gleichen Ergebnisse. Alt: select top 100000 * from Auftrag braucht 3 Sekunden Neu: select top 100000 * from Auftrag braucht 4 Sekunden Hab schon DB neu erstellt und die Tabelle sozusagen frisch in eine neue DB gespielt - immer ist der Neue SQL Server bei so einfachen Aufgaben 1-3 Sekunden langsamere) (Oben im Screenshot stehen im neuen Abfrageplan Gather-Stream und Partion-Stream? Das Google ich mir mal morgen ein wenig - vielleicht stoß ich dabei auf eine mögliche Ursache) Wenn aber jemand noch einen Tipp für mich hat :) myGil
zahni 587 Geschrieben 23. April 2015 Melden Geschrieben 23. April 2015 Tabellen Reorg ausführen & Statistiken neu erstellen. Überall wo ein Table-Scan (Böse :D) gemacht wird, einen geeigneten Index erstellen. Dann schau Dir mal http://blogs.msdn.com/b/psssql/archive/2013/09/27/how-it-works-maximizing-max-degree-of-parallelism-maxdop.aspx Diese Option bringt nicht in jedem Fall einen bessere Performance, denn wenn man Aufgaben auf Prozessoren verteilt, muss man die hinterher auch zusammenführen. Indizes helfen ungemein ;) Der Tuning Advisor kann Dir dabei helfen.
Beste Lösung mygil 10 Geschrieben 5. Mai 2015 Autor Beste Lösung Melden Geschrieben 5. Mai 2015 Hallo! Hab jetzt auf der neuen VM-Ware Maschine ebenso einen alten SQL Server 2008 (ohne R2) installiert und siehe da auch dieser SQL Server läuft ein wenig langsamer. Damit liegt es also nicht mehr am SQL Server sondern am Betriebssystem und somit bin ich hier im SQL Server Forum komplett falsch :) Vielen Dank für euch Hilfe!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden