Ein OR Kriterium bedeutet -unter Verwendung von Indizierung- immer, dass die
DB >nacheinander< den Surchvorgang für die OR Kriterien durchführen muss.
Das ist zu pauschal und stimmt wegen dem 'immer' schon mal nicht immer
. Man kann es parallelisieren oder optimierte Suchen nach mehreren Schlüsseln verwenden, die das in einem Durchlauf erledigen. Je nach Anzahl der zu suchenden Werte können unterschiedliche Strategien verwendet werden.
Wie man da ersehen kann, arbeitet der Optimizer von Firebird (2.52) hier absolut korrekt.
Finde ich nicht. Andere RDBMS benötigen hier nicht viel länger. Ich habe es gerade mit
SQL-Server ausprobiert. Der verwendet unterschiedliche Strategien, je nachdem, ob 1,2 oder mehr Werte per OR verknüpft sind.