* You are viewing the archive for the ‘Notizblock’ Category

MySql Performance mit Funktionen

Für ein aktuelles Projekt benötigte ich den Double Metaphone Algorythmous in der Datenbank. Netterweise gibt es hier die Funktion zum Download. Damit ließ sich auch alles recht einfach aufbauen. Ich lasse meine Hashfelder  per Trigger automatisch Pflegen. Inserts liefen schnell und problemlos. Das böse Erwachen kam allerdings bei einfachen Selects. Mein Query sah so aus:

SELECT tabelleId
FROM tabelle
WHERE tabelleHash = dm(‘abc’);

Dies wurde mir von MySql mit einer Laufzeit von über 5s bei einer Tabelle mit nur 500 Datensätzen (tabelleId ist primary Key und auf tabelleHash habe ich einen Index) quittiert. Leider scheint MySql den Ausdruk im Where nicht … Continue Reading

Autoloading mit Zend_Loader

Nach den Umstellungen beim Autoloading in Version 1.8 der Zend Frameworks musste ich aufs neue mit dem Thema beschäftigen. Bei meinem aktuellen Projekt hatte ich keinen Zugriff mehr auf meine eigene Libary. Somit musste ich ein wenig suchen.

Die Lösung war recht einfach:

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace(‘CC_’);

Da Zend_Loader_Autoloader ein Singleton ist kann man das überall Verwenden, wo man gerade Zugriff auf die Lib brauch. Ich habs aber lieber in den Bootstrap mit aufgenommen. Wichtig ist an der Stelle der Unterstrich sonst funktioniert es nicht.

MySql schneller machen

Beim Rumsuchen in Netz bin ich über die Podcastsektion in der Dev Zone gestolpert. Dort habe ich mir den Vortrag  SQL Query Tuning: The Legend of Drunken Query Master von Jay Pipes angehöhrt. Er spricht zwei Stunden über Optimierung in MySql. Angefangen bei Feldtypen über Partitionierung und Subquerys bis zu Nested Set Lösungen. Dabei geht er immer wieder auf wenig bekannte Aspekte in MySql ein. Ein schönes Beispiel ist die Gegenüberstellung von VARCHAR und CHAR wobei VARCHAR für Sortierung immer nach CHAR gewandelt wird. Oder auch der Fakt, daß bei MsySql ein INT 4 Byte hat, egalt … Continue Reading

MySQL Sotored Proceduer Whitepaper

Auf den Suche nach Infos zu den Stored Procedures bin ich über ein PDF gestolpert. A Guide to Lower Database TCO oder wie das Deckblatt sagt MySQL 5.0 Stored Procedures. In dem PDF beschreibt Peter Gulutzan die Stores Procedures recht eingängig. Man bekommt an überschaubaren Beispielen sehr schön die Funktionalität erklärt. Darüber hinaus wird auch erklärt, warum man Logik von der Applikation in die Datenbank verschieben sollte oder kann. Eine weitere nette Sache ist, daß man immer drauf hin gewieden wird, wenn die angesprochene Funktionalität MySQL only ist.

Ist ein wirklich gelungenes Werk, welches mir sehr geholfen hat.

SFTP mit PHP

Ich hatte das kleine Problem, Dateien mit PHP auf einen SFTP Server laden und dort umbenennen zu müssen. Nach etwas suchen habe ich keine wirklich schöne Lösung gefunden. So kam ich dann auch die Idee die einzelnen Befehle über die Konsole abzusetzen. Diesen Plan kommt es sehr entgehen, wenn man Keys für die Anmeldung verwendet. sftp liest einzelne Befehle auch von stdin ein, somit kann man sie die Dateiliste einfach per echo “ls /verzeichnis/” | sftp benutzer@sftp.example.com. So kann man schnell eine passende Klasse um die einzelnen Shellaufrue machen und alles ist gut.

Subversion auf meinem Entwicklungssystem

Weil es bei dem Thema immer wieder Fragen gibt möchte ich hier mal meine Arbeitsweise vorstellen. Mein imageEditor soll jetzt mal als Beispiel her halten. Zunächst erstelle ich mit kdesvn mein Repository. kdesvn erstellt auch gleich die Basisveerzeichnisse. Somit stetehen Trunk, Branches und Tags direkt zur Verfügung. Meine Repositories lege ich unter /var/repos ab.

Wenn das Repository angelegt ist muss nur noch der Zugriff geregelt werden. Dies erledigt man in dem Verzeichnis /var/repos/imageEditor/conf. In der svnserve.conf richtet man den svn Server ein. Da mein Rechner nicht aus dem Internet erreichbar ist habe ich dort keine großen Sicherheitseinstellungen vorgenommen. Ich begnüge mich … Continue Reading

Apache mit https

Nachdem ich mir dank einer kleinen Unaufmerksamkeit bei diesem Thema gestern so richtig die Finger gebrochen haben möchte ich mal eine kleine Anleitung schreiben. Ich beziehe mich hier auf Apache 2 unter Ubuntu. Aber was die Apacheconfig angeht funktioniert es sogar unter Windows halt nur mit komischen Doppelpunkten und kaputten Slashes in den Pfanden.

 

Damit https funktionieren kann muss zunächst Mod SSL eingebunden werden. Unter Ubuntu oder auch Debian funktioniert das wie gewohnt mit Links in /etc/apache2/mods-enabled auf ssl.conf und ssl.load aus /etc/apache2/mods-available.

 

Continue Reading