Performance / Indizes

Schreck

Neuer Benutzer
Beiträge
4
Hallo zusammen,

dies ist mein erster Beitrag und er mag auf den ersten Moment doof klingen aber aktuell weiß Ich leider nicht weiter wie ich mit dem Problem umzugehen habe daher poste Ich es einfach mal:

Ich habe hier einen SQL Server 2008 Express laufen auf dem über JDBC Statements ausgeführt werden. Aufgrund von Weiterentwicklungen hat sich natürlich die Anzahl der Tabellen usw. sowie die Zugriffe erhöht. Dies wirkt sich bei meinen Anwendungen durch Performance-Einbusen aus. Natürlich bin Ich den Weg gegangen Indizes zu erstellen (bzw. sie nach deren Unsinnigkeit auch wieder zu löschen) aber der einzige Effekt welcher wirklich hilft ist wenn ich irgendwo ein Management Studio starte, mich mit dem Server verbinde und ein paar Tabellen zur Anzeige öffne.

Kann mir da jemand weiter helfen? Ich finde den Workaround stark unbefriedigend.
 
Werbung:
Mein JDBC läuft wesentlich schneller wenn ich noch zusätzlich über ein Management Studio mit dem Server verbunden bin. Danke für die hilfreichen Links, habe das Schließen der ResultSets noch implementiert, leider ohne einen nennenswerten Zuwachs der Performance. Sorry bin kein großer DB-Entwickler.
 
Habe auch keine Erfahrungen mit JDBC, ich nutze nur Standard-Anwendungen und mache in SQL diverse Dinge, aber dann eben über Management Studio Import / Export / Trigger etc.

Dein Fehler klingt aber dann so als ob es sich hier nicht um ein generelles Performance Defizit sondern um irgendeinen ominösen Bug handelt. Läßt sich das auf einem anderen Rechner reproduzieren? Läuft JDBC auch schneller wenn ein anderer Rechner eine Verbindung im Management Studio aufgebaut hat (Halte ich mal für unwarscheinlich)?
 
Etwas... aber man merkt es auf jeden Fall. Kann den Effekt auch bei neueren Versionen des SQL-Servers reproduzieren. Sobald ich das Management Studio auf meinem Rechner laufen lassen rennt der JDBC wie Schmidt's Katze. Bin gerade etwas ratlos. JTDS hab ich jetzt auch mal probiert wobei ich auf Anhieb bezweifle dass es dadurch besser wird.
Ich vermute dass ich mal meine Abfragen durchschauen muss ob man da noch was optimieren kann.
 
Wenn die Abfrage sehr komplex ist würde sich das als Erklärung anbieten. So wie ich das auf die Schnelle verstanden habe "übersetzt" JDBC die Abfrage und ändert die Syntax ein wenig, vieleicht sollte man tatsächlich mal einen Blick darauf werfen was da beim Server ankommt. Zu diesem Zweck habe ich mal von Anilab den SQL Profiler ausprobiert, der könnte hier nützlich sein.
 
Sobald ich das Management Studio auf meinem Rechner laufen lassen rennt der JDBC wie Schmidt's Katze.

Ich habe leider weder mit JDBC noch mit MS-SQL große Erfahrung. Allerdings halte ich es aufgrund der Beschreibung für möglich, dass du Probleme mit dem Connection-Pool hast. Werden die geöffneten Vernindungen von deiner Anwendung schnellstmöglich geschlossen? Ich halte es zumindest für denkbar, dass das Managment-Studio den Pool automatisch vergrößert oder "bereinigt" und somit wieder genügend Verbindungen zur Verfügung stellt.

Gruß
Hony
 
Werbung:
Strange, aber mir fällt dazu im Moment auch nichts weiter ein. Vieleicht ein Netzwerkproblem? DNS wäre ja irgendwie klassisch.
 
Zurück
Oben