SQL Server: Performance-Optimierung

Tabellendesign im Überblick

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Design einer Tabelle gehört zu den zentralen Aufgaben des Entwicklers. Dieses Video zeigt, worauf es bei der Wahl des richtigen Datentyps ankommt, was in Bezug auf Unicode zu beachten ist und wie mit BLOBs und NULLables umgehen sollten.
03:18

Transkript

Der nächste Punkt, über den ich sprechen möchte, ist das Tabellendesign Das Tabellendesign wird natürlich in vielen Fällen von den fachlichen Anforderungen getrieben. Welche Informationen muss ich unterbringen, welche Informationen benötige ich überhaupt in einer Tabelle. Nichtsdestotrotz gibt es eine ganze Menge Punkte, an denen man sich durchaus als Entwickler Gedanken machen kann, was da die richtige Wahl ist und das sind einige Dinge, die ich jetzt ansprechen möchte. Zum Einen die Datentypen sind wichtig. Welchen Datentyp benutze ich für welche Information? Das klingt jetzt erst mal relativ einfach an der Stelle. Nichtsdestotrotz gibt es auch hier sehr viele Möglichkeiten, relativ unglückliche Entscheidungen zu treffen. Dann die große Frage Unicode oder nicht Unicode, und wo ist denn da eigentlich der Unterschied oder muss ich das überhaupt berücksichtigen. Und ich denke, das ist auch eine Entscheidung, die sehr stark ins Ergebnis dann hat, dass die Tabelle im Speicher und auf dem IO System größer oder kleiner werden kann, das heißt, ob die IO Systeme mehr entsprechend arbeiten müssen, ob der SQL Server Buffer, also der interne Cache des SQL Servers wirklich in der Form belastet werden muss. Und natürlich, je weniger die IO Systeme machen, und je effizienter mit dem Cache umgegangen werden kann, um so performanter ist der SQL Server an sich. Wenn ich darüber rede, dass gewisse Datentypen oder die Frage nach Unicode oder nicht Unicode darauf hinausläuft, dass man möglicherweise mal mehr oder mal weniger Speicher benutzt, bedeutet das nicht, dass dieses primär der Speicher von den IO Systemen ist, was kostet heutzutage schon ein Gigabyte, sondern eher: alles, was auf den IO Systemen ist, muss entsprechend in den Speicher, ins RAM und RAM ist relativ limitiert an der Stelle. Dann die Frage, muss ich wirklich alles abspeichern oder kann ich nicht auch Berechnungsspalten benutzen? Das ist sicherlich ein Punkt, wo es ein bisschen auf der einen Seite darum geht, möglichst schnell an die Daten zu kommen, auf der anderen Seite natürlich Dinge, die ich berechnen kann. Natürlich wirklich im Moment, in dem ich darauf zugreife, in der Tat erst auch berechnen lasse. Dann ist die Frage nach BLOBs. Das bedeutet: Was ist es denn, wenn ich einen ????, ???? Max habe. Brauche ich das überhaupt, welche Vor- und Nachteile habe ich dadurch? Dann die Frage nach NULLables. Das heißt: Kann ich Spalten ohne weiteres als NULL definieren und welche Vorteile habe ich davon. Auch das ist ein bisschen fachlich getrieben zumindestens, ob ich es als NULL definieren kann oder nicht. Aber nichtsdestotrotz ist das eine recht wichtige Sache die man auch ein bisschen im Kopf haben sollte. Und natürlich dann die Frage nach redundanten Daten. Das klingt jetzt ein bisschen oberlehrerhaft aber bei vielen Projekten sehe ich, dass Daten redundant gespeichert werden, was bedeutet, dass ich natürlich immer eine Fehlerquelle haben kann. Das heißt, wenn die Redundanz nicht mehr wirklich deckend ist. Das heißt, die Daten sollten zwar das Gleiche sein, sind es aber aus irgendwelchen Gründen nicht. Macht das denn wirklich einen Sinn, entsprechend Informationen redundant abzulegen? Das kann eine gute Idee sein. In vielen Fällen ist es aber eher ein Problem. Und das auch für die Performance, weil die Daten wie gesagt dann redundant in den RAM geladen werden müssen und da mehr Platz im Cache, im Buffer, entsprechend einnehmen, als wirklich unbedingt notwendig.

SQL Server: Performance-Optimierung

Lernen Sie den Umgang mit Indizis und Tools, um die Leistungsfähigkiet Ihrer SQL Server Datenbank effektiv zu erhöhen.

3 Std. 20 min (32 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:04.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!