Das Rätsel um –enable-inline-optimization

Wenn man im Internet Tipps sucht, wie man PHP möglichst performant kompiliert, liest man häufig, dass man die Option –enable-inline-optimization einsetzen sollte. Sie aktiviertso genannte Inline Optimizations. Doch worum handelt es sich dabei eigentlich? Sicherlich reicht es oft zu wissen, DASS es damit schneller geht und nicht WARUM. Trotzdem möchte ich einmal die Hintergründe hinter…

Vom Kleinen aufs Große schließen

Jede Operation in MySQL (wie überall anders auch) kostet etwas Zeit. In der Praxis ist die Antwortzeit eines der wichtigsten Kriterien für Software. Um so mehr sollte man schauen, dass man die Abfragen optimiert, wo es nur geht. Wenn die Tabellen ihrer Datenbank normalisiert sind, benötigt man für eine Abfrage oft Joins. Oft benötigt man…

Eine SQL-Abfrage nicht mehrmals abfragen

Manchmal kommt es vor, dass man eine bestimmte SQL-Abfrage bzw. das Ergebnis dieser innerhalb eines Scripts mehrmals benötigt. Ein ResultSet kann allerdings nur einmal durchlaufen werden. Man müsste deshalb die gleiche Query weiter unten im Script noch einmal abfragen. Aber da diese Daten ja bereits geholt worden, ist eine solche Abfrage eigentlich eine Verschwendung von…

Nicht mehr includen als nötig

Wenn man häufig genutzte Funktionen in eine extra Datei auslagert, die dann einfach per include() oder require() in alle anderen Scripte der Seite eingebunden werden kann, ist das eine feine Sache. Es gibt allerdings ein Problem mit einer solchen Include-Datei: Meistens werden für bestimmte PHP-Scripte nur einige Funktionen benötigt und nicht alle, die in der…

Schlamperei mit „SELECT *“

Das Selektieren von Datensätzen gehört in MySQL zur Tagesordnung. Und trotzdem kann dabei performance-technisch viel falsch gemacht werden (Stichwort richtiger Einsatz von Indizes). Doch bevor man Indizes setzt, sollte man sich auf die absoluten Grundlagen konzentrieren (obwohl Indizes wohl auch dazu gehören 🙂 ) Oft sieht man (besonders bei etwas unerfahreneren Entwicklern) die Datenbank-Abfrage SELECT…

Kurzgeschlossene Verknüpfungsoperatoren

Um in if-Abfragen mehrere Bedingungen miteinander zu verknüpfen werden Verknüpfungsoperatoren verwendet. PHP bietet dafür AND, & und && bzw. OR, | und ||. Dabei entsprechen AND und & sowie OR und | einander. && und || heißen kurzgeschlossene Operatoren.