Mulder: Schon wieder die Geschwindigkeit... 2 Mal den gleichen Befehl

Beitrag lesen

Ich habe den Tipp bekommen meine Abfrage (wieviele verschiedene Einträge gibt es in der Spalte session_id => um die verschiedenen Besucher zu zählen) so zu formulieren:
SELECT count(DISTINCT session_id) FROM $db.$table;

Mein Tip. :-)

Wenn ich diese Funktion das erste Mal ausführe geht es ca. 12 Sekunden. Bei der zweiten Ausführung dauert es noch knapp EINE Sekunde. Wir da was gecachet?

Jau.

Kann ich irgendwie machen, dass ich immer die 2. Gescheindigkeit bekomme?

Du mußt auf das Feld session_id einen INDEX legen. Das sollte man generell mit allen Feldern machen, die entweder in einer WHERE-Klausel oder einer Aggregatfunktion (wie Count()) vorkommen.
Ohne Indexierung ist eine Datenbank eigentlich auch nicht viel wert. :-)