Mein Gedanke war aber wenn die zweite Bedingung eh schon false ist, wozu wird da noch was gelesen. Die könnte er ja eigentlich ignorieren.
Macht der ja auch wenn ich iif mache, aber nur mit konstanten Werten.
Das
könnte in Deiner Vermutung könnte aber genau der Knackpunkt sein.
Delphi hat 'nen Kompilerschalter mit dem man die vollständige Auswertung von boolschen Vergleichen ein- oder ausschalten kann. Hat Firebird auch die Fähigkeit bei der Auswertung eines Teiles einer Bedingung zu erkennen, dass sie nur noch nicht erfüllt sein kann und es daher die weitere Arbeit unterlassen kann?
Sieht bei Deinem Beispiel eher nicht so aus.