Posts

Size matters! Woher bekomme ich größere Testdatenbanken?

Häufig bekomme ich zu hören, dass die Adventure Works Datenbank ja zu klein sei, um mal wirklich Performance Tuning Szenarios im stillen Kämmerlein zu testen. Ok, zuerst natürlich die Anmerkung, dass wohl die wenigsten in besagtem Kämmerlein auch eine entsprechende Hardware haben, um “echte” Erlebnisse zu haben und damit Erfahrung zu sammeln. Sowas bekommt Ihr nur im Feld! Aber gut, ich gebe gern zu, dass die Adventure Works Umgebung tatsächlich ein wenig schlank ist. Daher hier ein paar Tipps wie Ihr an wesentlich mehr Daten kommen könnt! Erst mal die Frage an den Hersteller Microsoft, was dieser uns so bietet? Und siehe da, es gibt eine wesentlich größere Datenbank: Microsoft Contoso BI-Demodatensatz für die Einzelhandelsbranche Woher kommen die denn nun? Das ist u. a. das Futter für PowerPivot Demos! :-) Hey, wer sagt da jetzt, dass ihm der Download zu groß ist? Ihr wolltet doch mehr… Ach so, es sollen mehr Datensätze aus dem Nix entstehen und zwar genau jetzt! Auch da...

Indizes? Haben wir doch schon längst! Lassen Sie uns nun bitte zu den echten Tuning Methoden kommen.

Das ist häufig eine spontane Antwort, welche ich auf den Vorschlag bekomme eine Anwendung mittel Indizes zu optimieren, wenn so das Gröbste aus dem Weg ist. Sowohl Entwickler als auch Administratoren scheint durchaus bewusst zu sein, dass Indizes und das Laufzeitverhalten einer Datenbank durchaus zusammenhängen (können). Aber ihnen scheint oft nicht die mögliche Tiefe des Themas bewusst zu sein, denn sie suchen häufig den wahren heiligen Gral der Performance Optimierung. Indizes haben sie schon, also muss es da draußen noch etwas anderes geben. Ist doch logisch, oder? :-) Mit diesem Post möchte ich den Leser, welcher sich angesprochen fühlt, dafür sensibilisieren, dass Indizierung viel mehr zu bieten hat, als er sich für den Moment vielleichtnvorstellen kann. Es hat sicherlich auch etwas damit zu tun, welche Rolle Indizes früher gespielt haben. Unter dbase III+ waren Indizes zum Beispiel eigentlich nichts anderes als nur zusätzliche Sortierreihenfolgen, welche auch für eine schne...

GROUP BY mit ROLLUP

Image
Anbei ein Thema, welches mir neulich erst wieder aufs Flipchart kam. Wie errechne ich in einem gruppierten Resultset möglichst einfach Zwischensummen? Nun ja, da sieht der Berater draußen schon recht spannende Konzepte in denen diverse UNION ALL eine entscheidende Rolle spielen! Dabei gibt es dafür in der Abfragesprache SQL extra ein Argument für diese Herausforderung. Kurze Anmerkung dazu, wenn Ihr zum Beispiel mit den Reporting Services unterwegs seit, dann habt Ihr diese Fragestellung sehr wahrscheinlich gar nicht, da dort Zwischensummen durch die Gruppierungsfunktion im Report abgebildet wird. So, der Rest von uns kann nun weiterlesen. Ach ja, und das betrifft jetzt nicht nur den SQL Server, wir bewegen uns da durchaus im ANSI Standard! :-) Wir nehmen unsere gute alte AdventureWorksDW2008. Als Beispiel wollen wir uns den Umsatz aus der FactInternetSales aufgeteilt nach Attributen aus der Dimension Product darstellen lassen. select EnglishProductCategoryName, EnglishProduc...

Wie messe ich eigentlich den Erfolg der Optimierung einer SQL Abfrage?

Hier ein Thema, welches mir immer wieder in Coachings von Einsteigern und Juniorberatern begegnet. Daher speziell für diese Zielgruppe ein paar Grundlagen. Wie messe ich eigentlich, ob dank einer Maßnahme eine Query “schneller” geworden ist? Der eine oder andere mag denken, dass das doch eine überflüssige Frage ist. Die Optimierung war erfolgreich, wenn eine Abfrage schneller fertig ist. Wo ist also das Problem? Und schließlich hat doch das Management Studio in der rechten untern Ecke extra dafür einen Timer. Und im Profiler kann ich mir doch auch die Dauer einer Abfrage anschauen. Damit sollte das Thema doch eigentlich durch sein, oder? Und bei vielen Queries steht da unten doch eh nur 00:00:00, die können also doch gar nicht weh tun. Nun ja, ganz so einfach ist es dann doch nicht. Die Zeit, welche eine Query benötigt, ist immer relativ und kann von vielem abhängig sein. Die wesentlich entscheidendere Größe beim Tuning ist die Anzahl der für die Beantwortung notwendigen Datenba...

PASS Camp 2010 R2 – Save the Date!

Vielleicht habt Ihr es im PASS Newsletter ja schon gelesen. Es wird dieses Jahr ein weiteres PASS Camp geben! Vom 19. – 21.10.2010 geht es im Gut Höhne in Mettmann wieder nur um das Thema SQL Server. Themen werden sein Self-Service BI, BI für Developer und BI für Admins. Nachdem ich beim ersten PASS Camp in diesem Jahr eine Late Night Session hatte, gibt es mich nun ganze 3 Tage lang zum Thema BI für Developer. Details dazu werden aber noch folgen. Wer meinen Blog hier in den letzten Jahren verfolgt hat, kann sich schon denken, was wir da gemeinsam machen werden. Gemeinsam? Genau, da bei den PASS Camps immer ein großer Wert auf viele Hands-On gelegt wird ist mitmachen gefordert. Also werdet Ihr mir nicht nur beim Codieren zusehen (wie öde…), sondern selbst Eure Ideen umsetzen dürfen! Ich freue mich schon drauf und hoffe viele Euch vor Ort zu treffen! ps: Und für den Fall, dass Ihr den PASS Newsletter gar nicht bekommen… dann schnell unter www.sqlpass.de anmelden!

Interaktive Referenzhandbücher für Office 2010!

Der eine oder andere wird sich vielleicht noch an einen Post vom Juni 2007 erinnern, in welchem ich die interaktiven Referenzhandbücher für Office 2007 vorgestellt habe. Nun ist Zeit für Office 2010! Und schon gibt die interaktiven Referenzhandbücher für 2010 ! Wie schon 2007 eine sehr gelungene Hilfe für Einsteiger in das aktuelle Office. Technologisch wird nun natürlich auf Silverlight gesetzt. Ein Vorteil ist, dass die Handbücher nun auch offline installiert werden.

Klönschnack för Lüüd, de dat suur hebbt mit de SQL Server

Am nächsten Donnerstag, den 10. Juni 2010, findet das 50. Treffen der Regionalgruppe Hamburg des PASS Deutschland e.V. statt! Zum 50. Treffen halten wir einen „Tech-Talk“ zum Thema Troubleshooting ab. Jeder kann seine ganz persönliche Herausforderung mit dem SQL Server mitbringen und wir werden dann versuchen, gemeinsam einen Lösungsansatz dafür zu finden! Unter allen Teilnehmern des Treffens verlosen wir eine NFR Vollversion von Microsoft Expression Web 3 !