Warum testest du die Varianten nicht aus?
Hab eben mal getestet auf interbase xe...
myfeld varchar(32) index vorhanden
Suchstring ist 2368 mal vorhanden
Tabelle hat 554832 Datensätze
Code:
select count(myfeld) from Tabelle where myfeld=:Suchstring
time: 00:00:00.0031 (1 mal)
time: 00:00:02.0406 (100 mal hintereinander)
select 1 from Tabelle where myfeld=:Suchstring rows 1
time: 00:00:00.0016 (1 mal)
time: 00:00:00.0516 (100 mal hintereinander)
select myfeld from Tabelle where myfeld=:Suchstring rows 1;
time: 00:00:00.0016 (1 mal)
time: 00:00:00.0500 (100 mal hintereinander)
select count(*) from Tabelle where myfeld=:Suchstring
time: 00:00:00.0031 (1 mal)
time: 00:00:02.0532 (100 mal hintereinander)
select myfeld from Tabelle where myfeld=:Suchstring
time: 00:00:00.0078 (1 mal)
time: 00:00:07.0953 (100 mal hintereinander)
Daraus ergibt sich ein klarer Vorteil beim limitieren der Datensätze!