KarstenV 10 Geschrieben 21. Januar 2008 Melden Teilen Geschrieben 21. Januar 2008 Hallo, ich habe folgendes Szenario, Windows SBS 2003 auf einem Intel DUAL Xeon Server, SQL Server 2000 Standard 4GB Arbeitsspeicher, Exchange sowie Sharepoint etc. aktiv. Auf dem SQL Server 2000 liegt eine 5GB große DB. Der Kunde klagt über langsame Antwortzeiten der Anwendung. Als Beispiel nehme ich jetzt der Einfachhalt halber ein Access Projekt mit einer einzigen Abfrage. Diese braucht auf dem Server 36 Sekunden. Da ich mal diverse Tuningmassnahmen ausprobieren wollte habe ich einen Core2Duo Rechner als Testmaschine aufgesetzt mit Windows Server 2003 Standard sowie SQL Server 2000 standard. Siehe da, auch hier benötigt die Abfrage 36 sekunden. Zwei Tage später beim Kunden stelle ich fest, das die Abfrage bloß 17 sekunden braucht. Also eine DASI gemacht, auf dem Testrechner eingespielt und siehe da jetzt benötigt die Abfrage auch hier nur noch 17 sekunden :confused: Sämtliche Tuningversuche waren übrigens erfolglos, ich habe den Wartungsplan über die DB gejagt, die Transactionslogs auf eine weitere Platte verschoben, all das hatte keine Auswirkungen. Die Frage ist also kann mir jemand erklären was sich technisch in der DB abspielt das solch gravierend unterschiedliche Zugriffszeiten entstehen? Solche Schwankungen kann ich doch mit nochsoviel Power im Server garnicht wet machen? Das einzige Schlagwort was mir in den Sinn kommt ist Reorganisation? Aber wenn der Wartungsplan diese nicht durchführt dann etwa die Datenbankanwendung selbst? Dann müßste ich also schauen das ich es schaffe der Anwendung beizubringen täglich diese Optimierung durchzuführen? Zitieren Link zu diesem Kommentar
zahni 559 Geschrieben 21. Januar 2008 Melden Teilen Geschrieben 21. Januar 2008 Die Frage ist: Ist die DB für die Abfrage optimiert, d.h. sind passende Indizes vorhanden, die von der Query verwendet werden kann. Wenn der SQL-Server für die Query einen "Full Table Scan" machen muss, ist und bleibt die Query langsam. Allerdings ist das Anlegen geeigneter Indizes nicht unbedingt Aufgabe der Administratoren. Auch kann die Sortierzeit mittels geeigneter Indizes deutlich reduziert werden. -Zahni Zitieren Link zu diesem Kommentar
KarstenV 10 Geschrieben 22. Januar 2008 Autor Melden Teilen Geschrieben 22. Januar 2008 Hallo, die Abfrage ist sehr komplex. Ich habe die auch nur als schönes Beispiel herangezogen. Hier könnte man sicher tunen, aber beim Rechnungsdruck kann ich selber nichts unternehmen, bin aber den selben Schwankungen ausgesetzt. Da ich die Schwankungen aber mitlerweile nicht durch die Hardware oder sogar den SQL-Server sondern die DB selbst verursacht sehe wollte ich mal in Erfahrung bringen was hierfür die Ursache sein kann? Karsten Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 11. Februar 2008 Melden Teilen Geschrieben 11. Februar 2008 Ursachen können unter anderem sein: - Fragementierung der Indizes (Abhilfe per DBCC DBReindex) - Größe der Datenbank ansich (Vergrößerung durch Transaktionslogs, wenn Sicherungsprobleme) - nicht vorhandene oder suboptimale Indizes Nimm dir doch am besten mal deine Abfrage und lass dir den Execution Plan (Ausführungsplan) anzeigen. Dort siehst du, an welcher Stelle die Abfrage wieviel Zeit und Performance kostet. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.