Und ich sach noch: Parameter, dann passiert das nicht.
Deine Aussage ist grundsätzlich korrekt!
Ich bin aber auch schon abgewichen, weil:
SQL-Code:
select * from adresse a where a.ort like 'Dresd%'
select * from adresse a where a.ort like :ort
Die erste Abfrage verwendet den Index, die zweite nicht. Ist bei mir zumindest bei Firebird so.
Grund ist, dass beim Prepare der oberen Abfrage schon bekannt ist, dass der Index benutzbar ist.
Bei der zweiten Abfrage könnte ja statt 'Dres%' '%Dresd%' kommen, deshalb ist Like mit Parametern immer ein full table scan.
Wie gesagt, deine Aussage ist koerrekt. Man sollte diese eine AUsnahme dennoch auf dem Schirm haben.
Frank