Performance
Wie bereits eingangs erwähnt ist dieser Bereich meiner Meinung nach der interessanteste und spannenste Bereich im Umfeld des Microsoft SQL Servers. In diesem Bereich bewege ich mich sehr gerne, denn hier sehen ich viele Herausforderungen und auch viel Potential im Bereich Performance.
Dieser Bereich ist ebenfalls sehr umfangreich wenn nicht der umfangreichste Bereich im Umfeld des SQL Servers überhaupt.
Da aufgrund der Arbeitsweise der Datenbankengine die Ausführungsweise eines SQL-Statements nur bedingt durch INdizes und Statistiken beeinflusst werden kann, beschäftige ich mich seit mehreren Jahren mit der Möglichkeit, bereits durch die Art wie das SQL Statement geschrieben ist, die Art der Ausführung zu beeinflussen.
Das hierbei verwendete Konzept nennt sich "Search & Load" und beschreibt im grunde sehr einfach die Art und Weise, ein Statement so zu schreiben, dass im ersten Schritt im Optimalfall nur die ID's der zu suchenden Datensätze (Search-Komponente) und danach erst die auszugebenden Felder geladen werden (Load-Komponente).
In einem Prototype wurde diese Möglichkeit bereits erprobt und der Performancegewinn war erheblich. Zudem verringerte sich die Last auf dem Datenbankserver, da zuerst nur mit den ID-Spalten der Datensätze gearbeitet wurde und erst am Schluss des ganzen Prozessen die eigentlichen Daten aus den Tabellen geladen wurden.