Dann mal ein anderer Ansatz (Abfrage ist ungeprüft eingetippt):
Code:
with q1 as
(Select Feld1, Feld2, Feld3
from tabelle1
where Feld2 = 'Schraube'),
q2 as
(select Feld1, Feld3
from q1
where Feld3 <> 'klein' and Feld 3 <> '')
Select Max(Feld1)
from q2
Damit sollte die
DB keine Möglichkeit mehr haben, den Index der ersten Abfrage zu umgehen. Der Rest ist dann aber ein Full-Table-Scan auf das Ergebnis der ersten Abfrage. Bei 29 Datensätzen sollte das aber kein Problem sein.
Du kannst natürlich mal die erste Abfrage separat ausführen, ob die auch wirklich schnell ist. Wenn die schon ein paar Sekunden braucht, liegt das Problem woanders.