Si la consulta es del tipo:
Código SQL
[-]
select * from clientes order by nombre
Si obtendrás todos los datos (en memoria mientras la consulta se mantenga abierta). Después solo tienes que usar locate por ejemplo, para buscr dentro de esa consulta.
Ahora eres tú personalmente el que tiene que sopesar las contraindicaciones.
Si ese "cada rato" es cada 3 segundos, pues sí, te diría que aplicaras filtros en local. Si es un edit que solo se usará 2 o 3 veces y necesita estar informado de los nuevos registros que se den de alta, no tendrás más remedio que usar una condición where en la consulta.
Saludos