Hallo dbenzhuser,
Mein Notebook mit Centrino 1,6GHz mit halbwegs aktuellem XAMPP.
Centrino 1,86GHz mit Apache 2.0.53/PHP5.0.4/MySql4.0.24
Tabelle mit 100000 Einträgen zu je einer 10-stelligen Zufallszahl.
500.000 Einträge mit 5-stelliger Zufallszahl - für mehr Einträge hatte ich keine Lust, das hat mir zu lange gedauert. Aber hier gleich noch eine Frage am Rande: wie füllt man eine Datenbank möglichst schnell mit sehr vielen Werten (>=1Mio)?
Davon 9785 mit einer "1" an der dritten Stelle (da sind sich die Abfragen einig).
50027 - mt_rand verzeilt die Zahlen eben recht gut, so dass genau 1/10 aller Zahlen eine 1 an dritter Stelle hat :-)
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.
Ich habe die Querys einfach in phpMyadmin eingegeben und komme pro Abfrage auf jeweils 0,001 bis 0,002 Sekunden (jeweils mit Ausreißern nach oben und nach unten) - wobei SUBSTRING tendentiell geringfügig höher liegt. Achja - auch ein Index hat keine Auswirkungen (vermutlich deshalb weil beide Varianten den nicht nutzen können?)
Grüße aus Nürnberg
Tobias