Präsentation zur Rails-Datenbankoptimierung

Bei der Ruby User Group Hamburg habe ich am 9. August 2012 einen Vortrag gehalten. Hier sind die dazugehörigen Folien zur Optimierung von Datenbankaufrufen in Ruby-on-Rails Den Vortrag gibt es jetzt auch bei Slideshare und Speakerdeck: Datenbankoptimierung für Ruby on Rails from meier-online Ergänzende Links ActiveRecord ist ein „Object Relational Mapper“ (ORM). Über das Für …

Ruby On Rails Datenbankoptimierung Teil 2

[Zu Teil 1] Verknüpfungen mit dem SQL-join Relationale Datenbanken erlauben es, Tabellen miteinander zu verknüpfen. In SQL gibt es für diese Verknüpfung das Schlüsselwort „JOIN“. Eine solche Verknüpfung kann theoretisch sehr frei spezifiziert werden, in der Praxis wird man fast immer an der Gleichheit bestimmter ID-Spalten verknüpfen. In unserem Beispiel eines Schiffsinformationssystems haben wir eine …

Ruby-on-Rails Datenbankoptimierung Teil 1

Anzahl der Datenbankabfragen optimieren Eine typische Webanwendung stellt viele Datenbankanfragen, bevor sie die Antwortseite an den Webbrowser ausliefert. Bei jeder dieser Datenbankabfragen muss die Anwendung auf die Antwort warten, dazu kommen noch Prozessumschaltungen, die zusätzlich bremsen. Der Datenbankserver muss jede Anfrage analysieren, und auch die Kommunikation zwischen Datenbank und Anwendung braucht Zeit. Weniger Datenbankanfragen reduzieren …

Rails ActiveRecord: count, length oder size?

Die objektorientierte Datenbankschnittstelle „ActiveRecord“ bietet gleich drei verschiedene Methoden zum Bestimmen der Anzahl: count(), length() und size(). Alle drei Methoden liefern das gleiche Ergebnis. Was nehmen wir wann? Warum ist es überhaupt wichtig? Nimmt man die falsche Methode, dann erzeugt unsere Ruby-on-Rails-Anwendung überflüssige Datenbankabfragen oder braucht mehr Speicher als eigentlich nötig. Die Anwendung skaliert dann …

SQL: Feld aus verknüpfter Tabelle setzen

Ein kleiner Kniff für den Joomla Community Builder Neulich erhielt ich eine kleine Auftragsanfrage. Ein bestehende Webanwendung wird stark erweitert und dabei auf das CMS „Joomla“ umgestellt. Zur Mitgliederverwaltung wird die Erweiterung „Community Builder“ eingesetzt. Bisher hatten die Nutzer eine Nummer als Loginnamen. Diese Nummer soll jetzt für alle alten Nutzer in ein Feld „Mitgliedsnummer“ …