Wie oft wird gesucht?
Permanent oder sporadisch?
Situationsbedingt?
Eine IBQuery und ein passendes Select können deutlich schneller sein, als ein Locate.
Wenn man 'ne Tabelle nimmt und darin sind 4 Mio. Datensätze und man benötigt davon den letzten Datensatz, wird Locate den finden und man hat gleichzeitig auch alle Datensätze im Speicher (oder der Windowsauslagerungsdatei). Das ist auch bei heutigen System mit viel Speicher und schneller CPU nicht unbedingt die beste Lösung.
Sucht man mit 'ner
Query per Select, hat man als Ergebnis in der Regel nur wenige Datensätze, im Idealfall nur einen, als Ergebnismenge.
Weiß man, dass man als Ergebnis nur einen Datensatz bekommt, bzw. will vom Ergebnis immer nur den ersten Datensatz, ist (meiner Meinung nach) eine
Query mit einem konkreten Select für diesen Datensatz dem Locate über eine große Datenmenge vorzuziehen.
Bei 'ner parametrisierten
Query ist das dann auch im Quelltext kein großer Aufwand.