Frage

Ich bin auf der Suche nach Informationen darüber, wie SQL Server behandelt tatsächlich Abfrageausführung in feineren Details (wie, welche Daten im Puffer / Speicher gehalten wird, und wie funktioniert sie entscheiden auch neue Daten zu erhalten, wenn es ein Update Änderung nur in eine Spalte von eine Tabelle in einer Abfrage etc beteiligt)

Wenn jemand weiß Quellen bitte lassen Sie mich wissen?


Wir haben eine Web-Anwendung mit SQL Server 2000, hat es schwer häufig liest sich fast 70% der Tische (Armaturenbrett) alle 30 Sekunden. und zugleich viel schreibt passiert.

Bitte lassen Sie mich wissen, irgendwelche Tipps für die Optimierung der obigen Szenario?

War es hilfreich?

Lösung

Niemand wird in der Lage sein, Sie eine Antwort, wie Sie Ihr Optimierungsproblem zu lösen. Dies erfordert den Zugriff auf den Datenbankserver. Zur Lösung Ihrer Probleme Sie grob verstehen müssen, wie die Datenbank funktioniert, und dafür brauchen Sie etwas zu lesen zu tun.

On-line Ressourcen in Ordnung sind, aber die folgenden drei Bücher sind von unschätzbarem Wert. Die ersten beiden Bücher haben sehr detaillierte Informationen darüber, wie SQL Server funktioniert. Die Letzter ist eine Anleitung, wie Abfragen zu schreiben, aber mit einer Diskussion darüber, wie die Motor Ansichten Abfragen als auch.

  1. Kalen Daleney: SQL Server 2008 Internals
  2. SQL Server 2005: Praktische Fehlerbehebung :
  3. Ben Gan et al : Inside SQL Server 2008: T-SQL-Abfragen

Andere Tipps

Es würde eine Menge von Stellen, um die Art Fragen des internen zu beantworten, ich schlage vor, Sie beginnen einige des White Paper / Blogs und einige Bücher zu lesen.

Für das Jahr 2000 Ken Henderson SQL Server-Architektur werden Ihnen tief interne Details geben, für die neueren Versionen von SQL, er hat eine 2005 praktische Fehlersuche, die nicht schlecht ist, und Kalen Delaney SQL 2008 Internals Buch ist sehr gut.

Sie sollten den Ausführungsplan prüfen.

Presse Ctrl-L im SSMS oder Ausgabe SET SHOWPLAN_TEXT ON bevor die Abfrage ausgeführt wird.

Dies gibt Ihnen detaillierte Informationen über welche Indizes verwendet werden, die Join-Algorithmen angewandt etc.

Sie können auch die Statistiken sehen:

SET STATISTICS TIME ON
SET STATISTICS IO ON

, die Sie die Informationen darüber, wie viele liest aus tatsächlichen Tabellen wurden durchgeführt, Cache usw., und wie viel Zeit (tatsächliche und CPU Zeit) hat jede Abfrage nehmen.

Über SQL Server 2008 Pufferverwaltung: http://msdn.microsoft. com / de-ca / library / aa337525.aspx

Dann können Sie mit der linken Seitenleiste, um Informationen finden auf anderen Themen.

Soweit externe Quellen gehen, MSDN verfügt über ein umfassendes Ressource auf dem SQL Server 2000-Installation zu optimieren, insbesondere die Patterns & Practices Papier auf Leistung und Skalierbarkeit.

Wenn Sie wissen, wo zu Beginn der Suche, nehmen Sie einen Bottom-up-Ansatz mit SQL Profile prüfen und Abfragepläne wie bereits erwähnt wurde. Ansonsten von oben nach unten beginnen und sich über die Kosten in recompiling Abfragen beteiligt, wie zum Index effektiv und wie die Abfrage-Optimierer verwendet Statistiken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top