Estaba usando la función de Windev “HReadSeekFirst”, para saber si un registro existía en disco y me estaba tardando mucho. Realizar 20 llamadas a esta función le llevaba 40 segundos :-O.
La base de datos es SQL-SERVER y se accede por OleDB
La tabla sobre la que se hace la búsqueda está indexada por el campo a buscar
La tabla solo tiene 65.000 registros
Viendo el resultado que estaba teniendo, he optado por crear mi propia función de búsqueda un SELECT SQL directo a la base de datos, y ejecutando las mismas 20 consultas, el resultado es instantáneo, por poner algo sería 1 segundo.
CONCLUSIÓN: Para tablas “pequeñas”, se pueden usar las funciones de Windev, pero para tablas medianas o grandes, lo mejor es usar el SQL del propio motor (SQL-SERVER, MySQL, etc).