269 Tipps rss | 8 Nutzer online

Optimierung


|< << >> >| Eintrag 1-24 von 24

MySQL: INSERT mit UPDATE-Option
Seit der Version 4.1 kennt MySQL die mächtige Erweiterung ON DUPLICATEKEY für den Befehl INSERT. Die führt statt des Einfügens eine UPDATE-Operationen durch, falls bereits ein Satz mit dem identischen Primärschlüssel existiert. Ein Beispiel für die Anwendung: Sie möchten sich für Ihre Website eine Tabelle anlegen, die die Zugriffszahlen auf Basis von [...]
[ 24.11.2006 | 0 Kommentare | 8504 Abrufe | Note 2.50 ]

Tastenkürzel für HTML-Element definieren
In allen Windows-Anwendungen können Sie dem Anwender die Bedienung durch Tastenkürzel erleichtern. Das klappt auch auf Webseiten. Sie können so eine Tastenkombination definieren, mit der der Anwender zu einem HTML-Element wie einem Link oder einem Eingabefeld springt oder einen Button betätigt.Erreicht wird das durch das Attribut accesskeyim HTML-Tag. [...]
[ 24.11.2006 | 0 Kommentare | 1966 Abrufe | Note 1.67 ]

PHP: HTTP-Statuscode erzeugen
In manchen Fällen müssen Sie einen HTTP-Statuscode von Hand erzeugen. Das ist zum Beispiel in Content-Management-Systemen sinnvoll, wenn das PHP-Programm einen darzustellenden Datensatz nicht findet und Sie deshalb ein NOT FOUND an den Browser zurück geben wollen.Den Statuscode geben Sie mit Hilfe der Funktion header zurück, zum Beispiel den Code für [...]
[ 24.11.2006 | 0 Kommentare | 2853 Abrufe | Note 3.00 ]

MySQL: Bremsende Abfragen ermitteln
Vor allem bei Anwendungen, die mit umfangreichen Datenbanken arbeiten, kommt es immer wieder vor, dass manche Programmteile inakzeptabel lang brauchen, weil aufwändige Abfragen verwendet werden.Um diesem Problem gezielt nachzugehen, aktivieren Sie am besten das "Long-Query-Log". Dorthin werden alle Abfragen geschrieben, deren Antwortzeiten einen Schwellenwert [...]
[ 12.10.2006 | 0 Kommentare | 1824 Abrufe | Note 2.00 ]

MySQL: Anzahl geänderter Datensätze abfragen
Nach einer Änderungsabfrage in MySQL bringt die PHP-Funktion mysql_num_rows() die Anzahl der veränderten Datensätze zurück. Allerdings arbeitet MySQL hier vielleicht eine Spur anders, als Sie es erwarten. Betrachten Sie zum Beispiel folgende Abfrage, mit der Sie bei Kunden, die keine Umsätze getätigt haben, ein bestimmtes Flag setzen möchten UPDATE [...]
[ 12.10.2006 | 0 Kommentare | 2520 Abrufe | Note 3.00 ]

PHP: Schneller Zugriff auf Buchstaben eines Strings
Wenn Sie Zeichenketten manipulieren, brauchen Sie oft ein bestimmtes Zeichen innerhalb eines Strings. Dazu können Sie mit der Funktion substr() arbeiten. Es geht aber einfacher. Anstatt beispielsweise zu schreiben$char = substr($name,$i,1);verwenden Sie$char = $name{$i};Damit wird der einzelne Buchstabe direkt, also wie bei dem Zugriff auf ein Array-Element [...]
[ 12.10.2006 | 0 Kommentare | 1760 Abrufe | Note 3.00 ]

PHP: Bandbreite sparen
Viele Web-Clients unterstützen Kompression beim Übertragen von HTML-Daten. Ist das der Fall, meldet sich der Client beim Server. Der schaltet dann die Kompression ein. Die Kompression spart Bandbreite und beschleunigt den Download.Um sie einzuschalten, setzen Sie an den Anfang der PHP-Ausgabe: ob_start('ob_gzhandler'); Dann schaltet PHP die Kompression [...]
[ 09.10.2006 | 0 Kommentare | 1387 Abrufe | Note 2.00 ]

PHP: Code schöner machen
PHP-Code muss gut lesbar sein. Entscheidend sind dabei Einrückungen und die logische Aufteilung des Codes. Falls Sie alten Code aufbereiten und schön gestalten wollen, nutzen Sie einen Code-Beautifier. Der verwandelt selbst wüsten Spaghetti-Code in gut aussehenden Quelltext. Innerhalb von Bedingungen, Schleifen und Funktionen wird der Code sauber eingerückt. [...]
[ 09.10.2006 | 0 Kommentare | 3296 Abrufe | Note 3.00 ]

MySQL: Komplexe Abfragen mit Joins meistern MySQL: Komplexe Abfragen mit Joins meistern
Wer für eine bestimmte Aufgabe nacheinander mehrere Datenbankabfragen an einen SQL-Server stellt, sollte stutzig werden. Denn das weist fast immer auf un-optimierte Abfragen hin, deren Einzeloperationen sich zu einer einzigen Abfrage zusammenfassen lassen. Das bringt dramatische Performance-Gewinne, egal, ob Daten geändert oder lediglich aus der Datenbank [...]
[ 09.10.2006 | 1 Kommentare | 31401 Abrufe | Note 2.57 ]

MySQL: Optimieren Sie Ihre Abfragen
SQL-Server wie MySQL sind keine plumpen Datenspeicher, sondern Spezialisten mit hoch entwickelten Fähigkeiten. Diese Stärken sollte man beim Einsatz mit Skriptsprachen wie PHP voll nutzen, um schnelle und elegante Anwendungen zu entwickeln.Ein Beispiel für die Wichtigkeit der richtigen Aufgabenverteilung zwischen Skriptsprache und Datenbankserver: Aus [...]
[ 08.10.2006 | 0 Kommentare | 27541 Abrufe | Note 1.58 ]

PHP: Präzises Benchmarking unter Linux
Das Benchmarking mittels microtime() gibt immer nur einen ungefähren Anhaltspunkt über die Ausführungszeit eines Programms. Denn die Abstützung auf die Realzeit verfälscht das Ergebnis. Besonders wenn der Computer während der Laufzeit noch andere Jobs erledigen muss, schlägt sich das auch in der Laufzeit des Programms nieder.Besser ist es da, auf andere [...]
[ 21.08.2006 | 0 Kommentare | 2755 Abrufe | Note 3.00 ]

Ausführungszeit in PHP 5 messen
Sie möchten wissen, wie schnell ein Teil Ihres Codes ausgeführt wird? Dann nutzen Sie die Funktion microtime(). Das geht so:<?php$start = microtime(true);for ($i = 0; $i < 10000; $i++){  $summe += $i;}echo microtime(true)-$start.' Sekunden verbraucht'; ?>Als Ergebnis erhalten Sie die Ausführungszeit der Schleife in Millisekunden. [...]
[ 21.08.2006 | 0 Kommentare | 11092 Abrufe | Note 1.89 ]

Javascript: Selectbox stößt Formularversand an
Normalerweise hat ein Formular einen Submit-Button, um die Formulardaten abzusenden. Besteht das Formular aber lediglich aus einer Selectbox, weil es etwa Teil einer mehrstufigen Auswahlfolge ist, ist der Knopf eigentlich umständlich. Der Anwender muss zuerst seine Auswahl treffen und dann noch den Knopf drücken.Mit Hilfe einer kleinen Erweiterung im [...]
[ 13.06.2006 | 0 Kommentare | 4296 Abrufe | Note 3.00 ]

PHP: Variablen per REQUEST übernehmen
Alte PHP-Versionen hatten in der Standardkonfiguration ein nettes aber gefährliches Feature. Alle von außen kommenden Eingabedaten - egal ob aus Cookies, einem URL-Parameter oder einem Formular-Post wurden automatisch zu PHP-Variablen, die man im aktuellen Skript auslesen konnte. Seit PHP 4.2.0 ist der Wert der zugehörigen Konfigurationsvariable "register_globals" [...]
[ 13.06.2006 | 1 Kommentare | 35487 Abrufe | Note 2.08 ]

MySQL: Autoincrement manipulieren
Haben die Daten einer Tabelle keine Felder, die eine eindeutige Identifizierung erlauben (das ist der so genannte Primary Key), dann diese Identifikation in einem separaten Feld geschehen. Das kann MySQL völlig automatisch erledigen. Dazu geben Sie dem Feld bei der Definition die Extra-Anweisung auto_increment mit. Der von der Datenbank vergebene ganzzahlige [...]
[ 13.06.2006 | 0 Kommentare | 10801 Abrufe | Note 2.43 ]

MySQL: Zufällige Datensätze ermitteln
SQL-Datenbanken sind Meister der Ordnung. Manchmal möchte man aber bewusst zufällige Ergebnisse erzielen. Zum Beispiel ist es für ein Content Managent System ein nettes Feature, wenn man in Kurzform eine zufällige Auswahl von Artikel präsentiert bekommt. Bei MySQL ist so ein Ergebnis einfach zu erzielen. Der Befehl ORDER BY bekommt als weitere Angabe [...]
[ 13.06.2006 | 1 Kommentare | 7997 Abrufe | Note 1.67 ]

PHP: Variable Variablennamen
Sie können aus einem String einen Variablennamen bilden. Das ist zum Beispiel dann interessant, wenn Sie Daten aus einer Konfiguration in Variablen übernehmen wollen.Ein Beispiel:<?$strNewVar = 'neuvar';$$strNewVar = 'teststring';echo $neuvar;?>Der Trick steckt im doppelten Dollarzeichen. Aus dem Inhalt von $strNewVar wird damit ein neuer Variablenname [...]
[ 13.06.2006 | 0 Kommentare | 14076 Abrufe | Note 2.14 ]

Umrechnen in Google Umrechnen in Google
Sie wollen hexadezimale Werte in dezimale umrechnen oder Zoll in Zentimeter, Euro in Dollar? Dann nehmen Sie Google. Einfach Google aufrufen und zum Beispiel64 in hexeingeben. Google zeigt im Handumdrehen das Ergebnis0x40Umgekehrt geht das natürlich auch. Statt hex schreiben Sie dann dec.Für die Umrechnung Zoll in Zentimeter schreiben Sie20 cm in inchUnd [...]
[ 13.06.2006 | 1 Kommentare | 4159 Abrufe | Note 3.00 ]

PHP:Mail-Adresse vor Spam-Bots verschleiern
Spam-Bots oder Harvester stöbern laufend durch das Internet auf der Suche nach Mail-Adressen. Als Erkennungsmerkmal einer Mail dient vor allem das @-Zeichen. Warum also das @ nicht verschleiern? Das geht ganz einfach mit der Funktion rawurlencode(). Probieren Sie das:<a href="mailto:<?=rawurlencode('nutzer@domain.com')?>">E-Mail</a>Die [...]
[ 13.06.2006 | 0 Kommentare | 3352 Abrufe | Note 3.00 ]

PHP: Aus dem Array in die Variablen
Die Aufgabe: Der Inhalt eines numerischen Arrays soll in unterschiedliche Variablen aufgeteilt werden. Die Lösung: list. Das folgende Beispiel zeigt, wie es geht:$arrTest = array('Haus', 'Garten', 'Hof');list($strHaus, $strGarten, $strHof) = $arrTest;echo '$strHaus='.$strHaus."\n";echo '$strGarten='.$strGarten."\n";echo '$strHof='.$strHof."\n";Zunächst [...]
[ 13.06.2006 | 1 Kommentare | 4232 Abrufe | Note 4.00 ]

PHP: Drei Gleichheitszeichen für mehr Sicherheit
Vergleiche in PHP erledigen Sie in der Regel mit zwei hintereinander gestellten Gleichheitszeichen, alsoif ($intWert == 0)Doch PHP ist nicht typensicher. Was, wenn Sie zum Beispiel if ($bFlag == true)einsetzen? Dann trifft die Bedingung zu, falls $bFlag true ist oder falls der Wert der Variablen 1 ist. Letzteres kann zu unerwünschten Problemen und schier [...]
[ 13.06.2006 | 0 Kommentare | 8081 Abrufe | Note 1.25 ]

Aus Fehlern anderer lernen (und dabei Spaß haben) Aus Fehlern anderer lernen (und dabei Spaß haben)
Die Website "The Daily WTF" richtet sich alleine an Programmierer und stellt missratenen Code oder miese Konzepte vor, die jemand beim Überarbeiten von Projekten gefunden hat. Oft empfindet man dabei die reine Schadenfreude - etwa, wenn ein Kollege eine 5000 Zeilen lange Java-Funktion zum Umwandeln von Hexstrings in Zahlen geschrieben hat, für die es [...]
[ 01.04.2006 | 0 Kommentare | 1213 Abrufe | Note 3.00 ]

MySQL als Rechenmaschine: SELECT ohne Tabellen nutzen
Im Gegensatz zu manche anderen Datenbanken kann MySQL auch SELECT-Kommandos verarbeiten, die keine Referenz auf Tabellen enthalten, also auch nicht mit Datenbank-Informationen in Beziehung stehen. So können Sie das DB-System beispielsweise als Taschenrechner-Ersatz verwenden und bekommen auf folgende Abfrage die Antwort "2" zurückgeliefert. SELECT 1+1;Diese [...]
[ 28.03.2006 | 0 Kommentare | 6063 Abrufe | Note 2.00 ]

Server-Belastung senken: Datensätze mit geringer Priorität einfügen
Wird eine Datenbank mit vielen neue Sätzen befüllt, egal ob per SQL-Skript oder aus einem Programm heraus, wird der Server stark beansprucht. Während er damit beschäftigt ist, die neuen Daten einzuordnen und Indexe zu pflegen, kann er kaum neue Abfragen bewältigen. Die Datenbank reagiert dabei äußerst träge.Verwendet man aber bei den INSERT-Befehlen [...]
[ 28.03.2006 | 0 Kommentare | 3449 Abrufe | Note 1.75 ]

|< << >> >| Eintrag 1-24 von 24