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.
Stimmt.
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 ...
ja das ist mir schon klar, ich meinte es ist egal ob man
where spalte2="3312000000"
oder
where spalte like "3312%"
verwendet. das war aber nicht auf die suchergebnisse bezogen sondern auf die zeit die jede suchanfrage benötigt.