dbenzhuser: SQL-Abfrage: Dritte Zahl gesucht - Die Laufzeitmessung

Beitrag lesen

N'Obend

WHERE SUBSTRING(number,3,1) = "1"
vs.
WHERE number LIKE "__1%"

Was schneller ist? Testen!

Da das Wetter heute wieder etwas bescheidener ist (gestern gings an den Badesee) hab ich das jetzt mal gemacht:

Versuchsziel:
Ausgabe der Zahlen mit einer "1" an dritter Stelle.

Versuchsaufbau:
Mein Notebook mit Centrino 1,6GHz mit halbwegs aktuellem XAMPP.
Tabelle mit 100000 Einträgen zu je einer 10-stelligen Zufallszahl. Davon 9785 mit einer "1" an der dritten Stelle (da sind sich die Abfragen einig).
Die Abfragen werden jeweils in einer Schleife 100 mal ausgeführt und dann die durchschnittliche Laufzeit ausgegeben. Das ganze dann ein paar mal mit F5 ausprobiert um Schwankungen auszuschließen.

Ergebnisse:
LIKE:      ca. 0,097 Sekunden pro Abfrage
SUBSTRING: ca. 0,104 Sekunden pro Abfrage

Hatte mich also geirrt, LIKE ist schneller. Nicht viel, aber immerhin messbar. Falls meine Messreihe überhaupt aussagekräftig ist...

Bleibt noch die Frage was uns die Antwort bringt :)

Tschö,
dbenzhuser

--
Heute in der Reihe „unser Ranking soll schöner werden“:
Gefälschte Musikinstrumente Marke Bessons