Monthly Archives: Oktober 2012

MySQL: Inner joins vs. sub queries

Heute wollte ich Kunden aus der Tabelle „Customers“ heraussuchen für die es in der Tabelle „Orders“ mindestens einen Auftrag gibt.

Mein erster Wurf dauerte 714 Sekunden:

SELECT * FROM customers WHERE ID in 
(SELECT customerID FROM orders group by customerID);

Der Verdacht liegt nahe, dass die Subquery hier nicht die richtige „Waffe“ ist:

select * from customers,
(SELECT customerID FROM orders group by customerID) as b 
where id = b.customerID;

Gleiches Ergebnis, aber schon nach 1,5 Sekunden. Eine gute Erklärung liefert folgender Thread:
http://stackoverflow.com/questions/141278/subqueries-vs-joins

Zusammenfassend kann man sagen, dass Subqueries zeilenweise immer wieder neu berechnet werden … leider auch, wenn keine Infos aus der Zeile benötigt werden.

Cheers,
Ralf

Webentwicklung: WordPress als Blogger-Plattform

Mein erster Blog-Eintrag ist eine Hommage an WordPress als Blogger-Plattform. Normalerweise  mag man als Coder flexible und damit auch meist komplizierte Systeme. Wordpress ist diesmal das genaue Gegenteil: es ist sehr einfach und ich mag es :-)

Die berühmte „Fünf-Minuten-Installation“ hält was sie verspricht:
http://dokupress.de/wordpress-benutzerhandbuch/installation/neue-installation/datenbank-verbindung/5-minuten-installation/

Durch das Theme-basierte Design der Plattform kann man einfach das gewünschte Layout anflanschen:
http://wordpress.org/extend/themes/

Wenn ein Theme noch nicht 100% passt, kann man seine Anpassungen einfach in CSS und PHP vornehmen. Mein Basis-Theme ist „Martin“ von Themestown:

http://wordpress.org/extend/themes/martin

Plugins lassen die Funktionalität einfach erweitern. Ich werde demnächst mal auf die Suche gehen, ein Plugin für Code-Highlighting und eins für Thumbshots zu suchen. Sonst bietet bereits die Grundinstallation schon fast alles was das Herz begehrt.

Cheers,
Ralf