Mit MySQL zufälligen Datensatz selektieren

Ich habe ja bereits zwei mal Beiträge geschrieben, wie man performant einen bzw. mehrere Datensätze per SQL selektieren kann. Heute möchte ich einen neuen, eleganteren Ansatz beschreiben, der allerdings etwas PHP benötigt (die anderen basierten allein auf MySQL).

Google hilft uns, das Web schneller zu machen

Jeder weiß, dass Google ein Primus in Sachen Web Performance ist. Allein die Google Suche ist schon beeindruckend, wenn man weiß, wie komplex eine Suchfunktion an sich und wie riesig die zugrundeliegende Datenmenge ist. Doch die Entwickler bei Google behalten Ihre Erkenntnisse nicht für sich, sondern haben nun eine sehr informative Artikelreihe zum Thema Let’s…

IP-Adressen optimal speichern

In (fast) allen Webprojekten müssen IP-Adressen gespeichert werden. Wenn nur einige wenige Einträge in der Datenbank vorhanden sind, ist das sicher kein Problem. Interessant wird es, wenn mehrere 1000 Einträge durchsucht werden müssen, um festzustellen, ob eine IP vorhanden ist, oder nicht. Wie man das ganze effektive steuert wird im folgenden erläutert.

Volltextsuche in MySQL-Datenbanken

am Beispiel der Open Source Technologien MySQL (Datenbank) und PHP (Middleware). Drei Wege zur Volltextsuche: 1. mit LIKE 2. mit MATCH AGAINST 3. mit drei Extra-Tabellen (3.1 Suchwoerter-Tabelle – 3.2 Suchwort-gehoertzu-Artikel Tabelle (viele-zu-viele Beziehung) 3.3 Such-Zeitstempel-Tabelle

Einmal lang statt mehrmals kurz

Ach da ist mir wieder ein grandioser Titel eingefallen, unter dem sich erstmal niemand vorstellen kann, worum es in diesem Beitrag eigentlich gehen soll. Also: Ich sehe es recht oft in Scripten (auch meinen eigenen), dass bei einem Seitenaufruf mehrmals sehr ähnliche Abfragen ausgeführt werden, die unterschiedliche Zwecke haben – aber eben doch sehr ähnlich…

SQL_CALC_FOUND_ROWS führt zu unerklärlichen Abstürzen

Heute mal ein Beitrag über ein Thema, das mir wochen- wenn nicht sogar monatelang Kopfzerbrechen bereitet hat. Und zwar fiel mein Server immer mal aus unerklärlichen Gründen aus. Die Prozesse hingen sich auf und Feierabend. Natürlich gab es keine Reproduzierbarkeit des Fehlers – teilweise lief der Server auch mehrere Tage in Folge problemlos und dann…