Hallo,
also ich hab mir jetzt so nen tabelle gebaut und alles ausprobiert. die zeit bis mysql alles durchsucht hat, bleib immer die selbe.
Das ist auch kein Wunder, weil die Aussage, LIKE sei langsam, so nicht stimmt. Nur LIKE "%xyz" _muss_ langsam sein, weil kein Index greifen kann, wenn nach etwas in der Mitte eines Feldinhaltes gesucht wird. Dann kann SUBSTR aber auch nicht schneller sein.
egal ob so:
select * from tabelle where spalte2="3312000000";
oder
select * from tabelle where spalte like "3312%";
Da siehst Du allerdings etwas falsch. Die beiden Statements machen nämlich etwas völlig Unterschiedliches.
where spalte2="3312000000"
Bringt nur solche Datensätze, bei denen spalte2 genau den Inhalt "3312000000" hat.
spalte like "3312%"
Bringt alle Datensätze, bei denen der Inhalt von spalte2 mit "3312" beginnt, also _auch_ Datensätze mit "3312000000", aber _auch_ solche mit "3312450000" oder "3312459800" oder ...
viele Grüße
Axel